Tomcat 7:如何正确设置初始堆大小?

我试图通过在catalina.sh中添加以下行来调整tomcat 7(CentOS,java -version:1.6.0_25-b06)实例的初始堆大小:

export CATALINA_OPTS="-Xms=512M -Xmx=1024M"

启动tomcat失败并将以下消息logging到catalina.out:

Invalid initial heap size: -Xms=512m Could not create the Java virtual machine.

这些选项有什么问题?

为什么堆的数量总是1?

HeapAlloc簿记

为什么连续调用new 不分配连续内存?

malloc像使用自定义堆的函数

如何在Linux中限制ac代码的堆大小

如果多次调用,GetProcessHeap()是否会在同一个进程中返回相同的句柄值?

一个进程的内存量如何确定?

为什么malloc / new捕获callstack?

如何通过HANDLE来判断堆是否被序列化?

在C ++应用程序运行期间检查各种内存使用情况

你不能使用= 。 简单地使用这个:

export CATALINA_OPTS="-Xms512M -Xmx1024M"

使用以下命令正确地为tomcat7(linux发行版)增加java堆大小:

echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/tomcat7/bin/setenv.sh

您可能不需要导出 ,只需在catalina.sh中添加以下行:

CATALINA_OPTS="-Xms512M -Xmx1024M"

setenv.sh更好,因为您可以轻松地将这种配置从一台机器移植到另一台机器,或从一个Tomcat版本移植到另一台。 catalina.sh从一个Tomcat版本改变到另一个版本。 但是你可以使用任何版本的Tomcat保持你的setenv.sh不变。

另一个优点是,如果将其添加到备份或版本控制系统中,则更容易跟踪更改的历史记录。 如果你看看你setenv.sh沿着历史的变化,你会看到只有你自己的变化。 而如果您使用catalina.sh,则不仅会看到您的更改,还会看到每个较新版本的Tomcat所带来的更改。

注意Debian发行版的变化! 我试图改变我的Debian 7中的CATALINA_OPTS ,以及那个tomcat没有启动的结果。 所以我通过改变属性JAVA_OPTS来代替CATALINA_OPTS来解决这个问题,就像这样

export JAVA_OPTS="-Xms512M -Xmx1024M"

刚刚遇到这个,我已经实施了Nathan的解决方案:

添加行(根据需要更改值):

export JAVA_OPTS="-Xms512M -Xmx1024M"

到/usr/share/tomcat7/bin/setenv.sh

如果该文件不存在,然后创建它

chown root:root it chmod 755 it

然后重新启动tomcat并检查它

ps aux | grep logging

哪个应该拿起实例并显示java parms

它甚至不使用“导出”关键字。 这是我在我的setenv.sh(/usr/share/tomcat7/bin/setenv.sh),它的工作原理。

OS:14.04.1-Ubuntu服务器版本:Apache Tomcat / 7.0.52(Ubuntu)服务器内置:Jun 30 2016 01:59:37服务器编号:7.0.52.0

JAVA_OPTS="-Dorg.apache.catalina.security.Securitylistner.UMASK=`umask` -server -Xms6G -Xmx6G -Xmn1400m -XX:HeapDumpPath=/Some/logs/ -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:+UseCompressedOops -Dcom.sun.management.jmxremote.port=8181 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false" JAVA_OPTS="$JAVA_OPTS -Dserver.name=$HOSTNAME"

花了好多时间在这之后。 我发现这是setenv.bat必须的样子。 没有“字符被接受在批处理文件中。

设置CATALINA_OPTS = -Xms512m -Xmx1024m -XX:PermSize = 128m -XX:MaxPermSize = 768m

回声你好“%CATALINA_OPTS%”

转到“Tomcat目录”/ bin目录

如果Linux然后创建setenv.sh否则如果Windows然后创建setenv.bat

setenv。*文件的内容:

export CATALINA_OPTS="$CATALINA_OPTS -Xms512m" export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m" export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

之后,用新的参数重新启动tomcat。

解释和完整的信息在这里

http://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-tomcat/

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...