增加Tomcat内存设置[重复]

2023-12-02

可能的重复:
处理“java.lang.OutOfMemoryError: PermGen space”错误

我的开发机器中有 8GB RAM,并且正在尝试运行 Apache Tomcat (7.0.29) 来托管这两个机器人工工厂(2.6.3) 和Jenkins(1.479) 同时。我试图找到 Jenkins 的内存要求,但看起来他们的 wiki 已关闭。

In ${TOMCAT_HOME}/bin/catalina.sh,我添加了以下命令:

CATALINA_OPTS="$CATALINA_OPTS -server -Xms1024m -Xmx3052m"

这应该使 Tomcat 的 JVM 大小(基本上)保持在 1 到 3 GB 之间,为其他东西留下足够的空间,and为 Tomcat 提供足够的内存用于 Artifactory/Jenkins,甚至其他(如果我愿意)。

(对于它的价值我已经尝试过同样的JAVA_OPTS只是为了得到相同的精确结果)。我保存更改并运行startup.sh。 Tomcat 开始启动,然后终止,OOME 抱怨 Tomcat 已耗尽 PermGen 空间:

Exception in thread "SocketListener(<hex-stuff>.local.)"
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space
Exception in thread "hudson initialization thread" java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: PermGen space

我哪里会出错?我已经阅读了多篇关于如何做到这一点的文章,并且(相信!)我正在精确地遵循它们。关于如何进一步调试这个问题有什么想法或想法吗?提前致谢!


尝试设置这个

CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms1536m -Xmx1536m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

in {$tomcat-folder}\bin\setenv.sh(如果需要的话创建它)。

See http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/更多细节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

增加Tomcat内存设置[重复] 的相关文章

  • tomcat在Spring Boot中不创建访问日志

    我按照中的说明进行操作this https stackoverflow com a 35001421 18573回答和弹簧靴 https docs spring io spring boot docs current reference h
  • 强制jvm返回本机内存[重复]

    这个问题在这里已经有答案了 我时不时地运行需要大量内存的 eclipse 任务 因此 当任务运行时 jvm 会消耗大约 2 3GB 的 RAM 这是可以的 但是一旦 jvm 占用了该内存 它就不会释放它 并且我遇到了一种情况 堆中已用内存约
  • 是否可以使 Spring Security 会话失效?

    我正在使用 Tomcat 6 0 32 Spring Security 3 0 5 在我的网络应用程序中 某些用户可以更改其他用户的权限 发生这种情况时 我想使权限已更改的用户的任何会话无效 这可能吗 如果可能的话怎么办 通常 您无法在更改
  • Tomcat:具有强密码的 TLSv1.2 不起作用

    我安装了Tomcat 7 配置了对 TLSv1 2 的支持在端口 8443 上 我的连接器配置 协议 org apache coyote http11 Http11NioProtocol SSLEnabled true 方案 https 安
  • 当我们第一次部署 WAR 文件时,某些代码可以运行吗?

    是否有任何方法或 API 可以使用 以便每当我部署新的 WAR 文件时 部分代码都应该执行 或者当 Tomcat 启动时 相应的 servlet 应该连续启动或运行一些代码 恢复一个老问题 因为唯一的答案没有显示任何例子 为了在部署 取消部
  • 为什么我们在同一台服务器上使用多个应用程序服务器实例

    我想这是有充分理由的 但我不明白为什么有时我们会在同一物理服务器上放置例如 5 个具有相同 Web 应用程序的实例 这与多处理器架构的优化有关吗 JVM 或其他允许的最大内存限制 嗯 过了很长一段时间我又看到这个问题了 一台机器上的多个 J
  • 从 exe/as 服务运行 tomcat 时出现 NoClassDefFoundError: org/apache/catalina/startup/Bootstrap

    我已经通过startup bat运行Tomcat 6 0 37服务器相当长一段时间了 现在我想将tomcat作为一项服务运行 在机器启动时自动启动 我使用bat创建了服务 service bat install 这成功地创建了服务 当尝试启
  • iOS AVCaptureVideoDataOutput 消耗太多内存

    我在用AVFoundation使用iPhone相机捕获视频的框架 我的代码 self session AVCaptureSession alloc init self output AVCaptureVideoDataOutput allo
  • 如何在 tomcat 上部署 Java Web 应用程序 (.war)?

    我有一个 warJava Web 应用程序的文件 现在我想将它上传到我的 ftp 服务器 以便我可以执行它 我应该执行哪些步骤来运行它 webapp的上下文路径是 mywebapp Edit 实际上 我的 ftp 服务器名称是ftp bil
  • Java:为什么它使用固定数量的内存?或者它如何管理内存?

    JVM 似乎使用了一些固定数量的内存 至少我经常看到参数 Xmx 对于最大尺寸 和 Xms 对于初始大小 这表明 我感觉 Java 应用程序不能很好地处理内存 我注意到一些事情 即使一些非常小的示例演示应用程序也会加载大量内存 也许这是因为
  • 什么是内部类的合成反向引用

    我正在寻找应用程序中的内存泄漏 我正在使用的探查器告诉我寻找这些类型的引用 但我不知道我在寻找什么 有人可以解释一下吗 Thanks Elliott 您可以对 OUTER 类进行合成反向引用 但不能对内部类实例进行合成 e g class
  • 64 位大型 malloc

    malloc 失败的原因是什么 尤其是在 64 位中 我的具体问题是尝试在 64 位系统上分配一大块 10GB RAM 该机器有 12GB RAM 和 32GB 交换空间 是的 malloc 是极端的 但是为什么它会成为一个问题呢 这是在带
  • 由于 http 响应 405,无法执行 mvn tomcat:deploy

    我正在将 Tomcat 7 作为 Windows 服务运行 我想在我的项目根目录中进行 mvn tomcat 部署 但总是出现这个错误 你能帮我解决这个问题吗 INFO Deploying war to http localhost 808
  • windows关闭tomcat后保持端口锁定

    我遇到了一个问题 该问题发生在不同站点的 3 台不同服务器上 问题是 当我关闭 Windows 服务器上的 Tomcat 7 和 8 5 版本 服务并尝试重新启动该服务后 该服务将无法启动 因为 tomcat 认为端口仍在使用中 以下是错误
  • Tomcat 服务器向 servlet 发出 3 个请求

    下面是我的doGet method WebServlet name IndexServlet urlPatterns home initParams WebInitParam name sortBy value Constants POPU
  • Java Runtime.getRuntime().freeMemory() 问题

    我搜索并看到了一些线程 但没有一个能够解决我遇到的具体问题 我正在尝试使用以下方式监视我的内存使用情况Runtime getRuntime freeMemory Runtime getRuntime maxMemory and Runtim
  • 我们可以拥有一台只用寄存器作为内存的计算机吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 寄存器是计算机中最快的存储器 那么如果我们想构建一台只有寄存器甚至没有缓存的计算机 可能吗 我什至考虑用寄存器代替磁盘 尽管它们本质上是易
  • jQuery:如果使用 html() 从 DOM 中删除事件处理程序,是否会从对象中删除事件处理程序

    我担心应用程序中的内存泄漏 因为我经常使用 jquery 的 html 方法来替换 DOM 中的内容 我只是想确保这些事件侦听器不会停留在浏览器内存中 我搜索了 jquery 文档没有明确的答案 有人知道吗 多谢你们 是的 他们是 如果你使
  • 从应用程序内部监视 ASP.NET 应用程序内存

    我正在寻找一种方法让应用程序本身监视它正在使用的内存量 这样我就可以每小时左右将其记录在日志文件中 并密切关注应用程序的使用情况 它全部托管 因此我们可以对系统进行更改以查看发生了什么 因此解决方案必须来自应用程序代码内 我们将来可能会使用
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使

随机推荐

  • wsdl 错误:标题和文档没有正确分离

    我正在使用 NUSOAP 来使用 microsoftdynamics 的肥皂接口 我收到此错误 wsdl 错误 获取https testserver2013 api crm4 dynamics com XRMServices 2011 Or
  • WQL 不支持 TOP - 需要解决方法

    WQL 基本上是 WMI 的 SQL 不支持 TOP 或 LIMIT 关键字 Sql Server 使用 TOP 和许多其他 RDBMS 支持 LIMIT 等 是否有一种解决方法可以模拟 SELECT 查询的行为 就好像它具有将结果集限制为
  • 在 NHibernate Criteria 查询中连接多个字段

    我有一个Dept表和一个Emp table 我需要以这样的方式连接这两个表where子句看起来像这样 where dept deptId emp DeptId and dept deptName emp empTrainingName 我试
  • 限制android应用程序apk的共享

    我是安卓新手 我有一个应用程序 我必须限制用户将应用程序的 apk 文件共享给其他手机 Android 手机持有者 就像如果我将 apk 文件保存在我自己的网站中 那么我希望用户可以从我的网站下载 apk 而不能与其他人共享相同的 apk
  • Google Reader API - 获取提要

    有谁知道用户是否可以调用 Google Reader 服务来获取属于特定标签 类别的所有提要的名称 uri 谢谢 您可以使用以下代码的变体来访问 Google 阅读器系统 您需要在每个请求中发送标头 Authorization auth m
  • 如何检测 mithril.js 中的模型参数更改事件?

    我最近开始学习 mithril js 我想知道如何制作非常基本的模型 gt 查看单向数据绑定应用程序 TestModel function data this name m prop data name testModel new Test
  • PHP计算时间差大于24小时

    当时间大于 24 小时时 计算时间差的最佳方法是什么 Example time1 76 00 00 time2 30 00 00 result should be 46 00 00 echo date H i s strtotime tim
  • 如何锁定文本区域的第一个单词?

    基本上我需要创建一个字符限制的文本区域 但开头有一个单词 它们无法更改 它需要成为文本区域的一部分 但我不希望用户能够删除它或编辑它 我想我可以使用创建一个 JQuery 函数blur 以防止用户退格 但我还需要防止他们选择该单词并将其删除
  • 每分钟呼叫功能

    我编写的每分钟调用一个函数的代码我认为是有缺陷的 因为它在一段时间内很好 但自页面加载以来每小时往往会落后约 15 秒 老实说 我无法弄清楚是什么导致了滞后 也许是函数执行所需的时间 小失误全部加起来并累积起来 有没有一种方法可以在调用函数
  • 如何向未存储在数据库中的 Web API 响应添加属性?

    我正在使用 Entity Framework 6 0 构建 C Web API 我有一个最简单的用户类 它有 3 个属性 我将它们通过 SQL 持久保存到具有 3 个相应列的用户表中 其中 UserID 是其主键 public partia
  • 我可以暂时为线程启用 FTZ 和 DAZ 浮点模式吗?

    我想暂时启用FTZ DAZ模式来获得某些代码的性能增益 其中严格遵守IEEE 754标准不是问题 无需更改其他线程的行为 这些线程可能正在执行代码 其中合规性很重要 我一直在读this关于如何启用 禁用这些模式以及this关于非规范处理的性
  • 引用 AssemblyInfo.cs 中的项目时,发布预编译的 ASP.NET 失败

    当我们尝试发布我们的 ASP NET 应用程序时发布期间预编译启用后 它将失败 因为我们引用了AssemblyInfo cs file 这是我们的项目结构 Project WebUI ASP NET MVC App on NET 4 6 2
  • 每次提交表单时使用触发器对工作表进行排序

    我正在尝试让 Google 表格在提交表单时自动排序 我已经能够设置脚本以使用以下内容进行排序 但它仅在手动编辑电子表格时才有效 而不是在从表单输入新数据时 function onEdit event var sheet event sou
  • 编写 XML 元素时设置属性的顺序 [重复]

    这个问题在这里已经有答案了 用java编写时如下 Element fieldEl targetDocument createElement field fieldEl setAttribute Wine Marlo fieldEl setA
  • 桌面 TCP 流式传输 (java)

    我想串流桌面屏幕截图使用套接字 我不知道具体的方法 所以我使用了 AWT 的机器人 Robot robot new Robot BufferedImage image robot createScreenCapture screenRect
  • 使用 PYODBC 将 pandas 中的数据获取到 SQL Server

    我试图了解 python 如何将数据从 FTP 服务器提取到 pandas 中 然后将其移动到 SQL 服务器中 至少可以说 我这里的代码非常初级 我正在寻求任何建议或帮助 我尝试先从 FTP 服务器加载数据 效果很好 如果我然后删除此代码
  • apk 必须使用与之前版本相同的证书进行签名

    我不久前已将我的应用程序上传到 Google Play 当时称为 Android Market 今天我更新了应用程序 但我删除了以前的密钥库并创建了一个新的 上传时 它说 APK 必须使用与以前版本相同的证书进行签名 上传失败 您上传的 A
  • 将文件的全部内容读取到 c char *,包括新行

    我正在寻找一种跨平台 Windows Linux 解决方案来将整个文件的内容读取到char 这就是我现在所拥有的 FILE stream char contents fileSize 0 Open the stream stream fop
  • 如何在 Fluent NHibernate 中映射受保护的集合?

    我尝试过在 Fluent 中使用 Reveal 属性 但无法将其与集合一起编译 我希望实体中的我的集合之一受到保护 并且除了实体本身之外 无法在任何地方访问 这可能吗 谢谢 Edit 这是我尝试使用的代码 HasMany
  • 增加Tomcat内存设置[重复]

    这个问题在这里已经有答案了 可能的重复 处理 java lang OutOfMemoryError PermGen space 错误 我的开发机器中有 8GB RAM 并且正在尝试运行 Apache Tomcat 7 0 29 来托管这两个