[英]Tomcat 7: How to set initial heap size correctly?
我試圖通過將以下行添加到catalina.sh來調整tomcat 7(CentOS,java -version:1.6.0_25-b06)實例的初始堆大小:
export CATALINA_OPTS="-Xms=512M -Xmx=1024M"
啟動tomcat失敗並將以下消息記錄到catalina.out:
Invalid initial heap size: -Xms=512m
Could not create the Java virtual machine.
這些選項有什么問題?
你不能使用=
。 只需使用:
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
它甚至不使用'export'關鍵字也可以工作。 這就是我在setenv.sh(/usr/share/tomcat7/bin/setenv.sh)中的功能。
操作系統:14.04.1-Ubuntu服務器版本:Apache Tomcat / 7.0.52(Ubuntu)服務器內置:2016年6月30日01:59:37服務器編號:7.0.52.0
JAVA_OPTS="-Dorg.apache.catalina.security.SecurityListener.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
echo hello“%CATALINA_OPTS%”
轉到“Tomcat目錄”/ bin目錄
如果Linux然后創建setenv.sh else如果Windows然后創建setenv.bat
setenv。*文件的內容:
export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"
在此之后用新的params重新啟動tomcat。
解釋和完整信息在這里
http://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-tomcat/
如果它在你的centos 7機器上沒有工作“export CATALINA_OPTS =” - Xms512M -Xmx1024M“”那么你可以從vi /etc/systemd/system/tomcat.service文件更改堆內存然后通過ps的幫助在tomcat中顯示這個值-ef | grep tomcat。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.