簡體   English   中英

Tomcat 7:如何正確設置初始堆大小?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM