tomcat優化之catalina.sh
阿新 • • 發佈:2018-12-01
Linux下修改TOMCAT_HOME/bin/catalina.sh,在其中加入,可以放在CLASSPATH=下面:
JAVA_OPTS="-server -XX:PermSize=512M -XX:MaxPermSize=1024m -Xms2048m -Xmx2048m"
-server:啟用 JDK的 server 版本;
-Xms:Java虛擬機器初始化時堆的最小記憶體,一般與 Xmx配置為相同值,這樣的好處是GC不必再為擴充套件記憶體空間而消耗效能;
-Xmx:Java虛擬機器可使用堆的最大記憶體;
-XX:PermSize:Java虛擬機器永久代大小;
-XX:MaxPermSize:Java虛擬機器永久代大小最大值;
2.驗證
設定成功後我們可以利用JDK自帶的工具進行驗證,這些工具都在JAVA_HOME/bin目錄下:
1)jps:用來顯示本地的java程序,以及程序號,程序啟動的路徑等。
2)jmap:觀察執行中的JVM 實體記憶體的佔用情況,包括Heap size , Perm size 下載地址 等。
進入命令列模式後,進入JAVA_HOME/bin目錄下,然後輸入jps命令:
#jps
顯示以下結果
2340 Bootstrap
6696 Jps
其中 Bootstrap程序就是我們啟動了的 Tomcat,其程序號為2340.
然後我們利用 jmap工具檢視其記憶體相關配置:
#jmap -heap 2340
顯示以下結果
Attaching to process ID 2340, please wait... Debugger attached successfully. Server compiler detected. JVM version is 24.65-b04 using thread-local object allocation. Parallel GC with 4 thread(s) Heap Configuration: MinHeapFreeRatio = 0 MaxHeapFreeRatio = 100 MaxHeapSize = 2147483648 (2048.0MB) //最大堆記憶體 NewSize = 1310720 (1.25MB) MaxNewSize = 17592186044415 MB OldSize = 5439488 (5.1875MB) NewRatio = 2 SurvivorRatio = 8 PermSize = 536870912 (512.0MB) //永久代初始大小 MaxPermSize = 1073741824 (1024.0MB) //永久代最大大小 G1HeapRegionSize = 0 (0.0MB) Heap Usage: PS Young Generation Eden Space: capacity = 537919488 (513.0MB) used = 247606720 (236.13616943359375MB) free = 290312768 (276.86383056640625MB) 46.03044238471613% used From Space: capacity = 89128960 (85.0MB) used = 0 (0.0MB) free = 89128960 (85.0MB) 0.0% used To Space: capacity = 89128960 (85.0MB) used = 0 (0.0MB) free = 89128960 (85.0MB) 0.0% used PS Old Generation capacity = 1431830528 (1365.5MB) used = 0 (0.0MB) free = 1431830528 (1365.5MB) 0.0% used PS Perm Generation capacity = 536870912 (512.0MB) used = 20770360 (19.80815887451172MB) free = 516100552 (492.1918411254883MB) 3.86878103017807% used 12005 interned Strings occupying 1039352 bytes.
從結果驗證配置是否成功了。