首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法更改tomcat 7堆大小

无法更改tomcat 7堆大小
EN

Stack Overflow用户
提问于 2011-06-19 02:32:46
回答 5查看 55.3K关注 0票数 15

我已经通过在catalina.sh中添加以下行来设置Tomcat7的堆大小

代码语言:javascript
复制
export CATALINA_OPTS="-Xms512m -Xmx1024m"

然后停下来,启动了tomcat。但是当尝试使用jmap -heap命令获取堆大小时,我可以注意到内存没有变化:

代码语言:javascript
复制
Heap Configuration:
   MinHeapFreeRatio = 40
   MaxHeapFreeRatio = 70
   MaxHeapSize      = 526385152 (502.0MB)
   NewSize          = 1048576 (1.0MB)
   MaxNewSize       = 4294901760 (4095.9375MB)
   OldSize          = 4194304 (4.0MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 16777216 (16.0MB)
   MaxPermSize      = 67108864 (64.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 99352576 (94.75MB)
   used     = 9643144 (9.196418762207031MB)
   free     = 89709432 (85.55358123779297MB)
   9.705982862487632% used
From Space:
   capacity = 4063232 (3.875MB)
   used     = 0 (0.0MB)
   free     = 4063232 (3.875MB)
   0.0% used
To Space:
   capacity = 5177344 (4.9375MB)
   used     = 0 (0.0MB)
   free     = 5177344 (4.9375MB)
   0.0% used
PS Old Generation
   capacity = 37748736 (36.0MB)
   used     = 21889008 (20.874984741210938MB)
   free     = 15859728 (15.125015258789062MB)
   57.98606872558594% used
PS Perm Generation
   capacity = 60948480 (58.125MB)
   used     = 31496008 (30.03693389892578MB)
   free     = 29452472 (28.08806610107422MB)
   51.67644541750672% used

请给我建议。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-19 02:37:27

另外设置export JAVA_OPTS="-Dcom.sun.management.jmxremote"并使用JConsole检查tomcats的内存消耗。

票数 3
EN

Stack Overflow用户

发布于 2012-09-20 07:41:55

代码语言:javascript
复制
sudo vi /etc/default/tomcat7

查找以JAVA_OPTS="-Djava.awt.headless=true开头的行

并将piddly -Xmx128m更改为-Xms512m -Xmx1024m

如果你有多个内核...-XX:+UseConcMarkSweepGC可能就是你想要的。

票数 62
EN

Stack Overflow用户

发布于 2012-06-08 22:05:18

Do not change catalina.sh!!此文件不应由用户更改。Tomcat更新可能会覆盖它。而是在"$CATALINA_BASE/bin“(与catalina.sh相同的文件夹)中创建一个名为"setenv.sh”的文件。在那里设置所有的环境变量。

setenv.sh是一个可选文件。如果存在,则由catalina.sh导入。它的名字暗示了你放在那里的东西。这是初始化$CATALINA_OPTS、$JAVA_OPTS等的合适位置。

附注:一般来说,你应该避免调整那些可能会随着提供的包/分发更新和其他配置方法而改变的文件。在这种情况下,catalina.sh/etc/tomcat7/tomcat7.conf/etc/init.d/tomcatX等文件可以静默更新,您甚至不会注意到您的配置更改被回滚。

票数 49
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6398053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档