tomcat修改內存大小方法:
-Xms:初始值 -Xmx:最大值 -Xmn:最小值
一、LInux下修改方法:
進入目錄:/usr/local/apache-tomcat-7.0.8/bin
修改文件:catalina.sh
在最上面增長:
JAVA_OPTS='-Xms2048m -Xmx4096m -XX:PermSize=1024M -XX:MaxNewSize=1024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'java
其中:這一段屬於遠程調試jpda技術:apache
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
二、WINDOWS下修改方法:
進入目錄:E:\apache-tomcat-7.0.42\bin
修改文件:catalina.bat
在最上面增長:set JAVA_OPTS=-Xms512m -Xmx512mtomcat
-server:必定要做爲第一個參數,在多個CPU時性能佳jvm
-Xms:java Heap初始大小。 默認是物理內存的1/64。socket
-Xmx:java heap最大值。建議均設爲物理內存的一半。不可超過物理內存。性能
-XX:PermSize:設定內存的永久保存區初始大小,缺省值爲64M。(我用visualvm.exe查看的)spa
-XX:MaxPermSize:設定內存的永久保存區最大 大小,缺省值爲64M。(我用visualvm.exe查看的)線程
-XX:SurvivorRatio=2 :生還者池的大小,默認是2,若是垃圾回收變成了瓶頸,您能夠嘗試定製生成池設置調試
-XX:NewSize: 新生成的池的初始大小。 缺省值爲2M。日誌
-XX:MaxNewSize: 新生成的池的最大大小。 缺省值爲32M。 若是 JVM 的堆大小大於 1GB,則應該使用值:
-XX:newSize=640m -XX:MaxNewSize=640m -XX:SurvivorRatio=16,或者將堆的總大小的 50% 到 60% 分配給新生成的池。調大新對象區,減小Full GC次數。
+XX:AggressiveHeap 會使得 Xms沒有意義。這個參數讓jvm忽略Xmx參數,瘋狂地吃完一個G物理內存,再吃盡一個G的swap。
-Xss:每一個線程的Stack大小,「-Xss 15120」 這使得JBoss每增長一個線程(thread)就會當即消耗15M內存,而最佳值應該是128K,默認值好像是512k. -verbose:gc 現實垃圾收集信息 -Xloggc:gc.log 指定垃圾收集日誌文件
-Xmn:young generation的heap大小,通常設置爲Xmx的三、4分之一 -XX:+UseParNewGC :縮短minor收集的時間 -XX:+UseConcMarkSweepGC :縮短major收集的時間 此選項在Heap Size 比較大並且Major收集時間較長的狀況下使用更合適。 -XX:userParNewGC 可用來設置並行收集【多CPU】 -XX:ParallelGCThreads 可用來增長並行度【多CPU】 -XX:UseParallelGC 設置後能夠使用並行清除收集器【多CPU】