linuxt與windows下tomcat記憶體設定

來源:互聯網
上載者:User

標籤:tomcat記憶體溢出   linuxt下tomcat記憶體設定   windows下tomcat記憶體設定   

Linux下修改JVM記憶體大小:


要添加在tomcat 的bin 下catalina.sh檔案中,找到cygwin=false,在這一行的前面加入參數,具體如下# vi TOMCAT_HOME/bin/catalina.sh(預設檔案內容)

JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m"

以下是自己設定的另外增加一個setenv.sh檔案來設定tomcat記憶體,給檔案加上執行許可權

#vi /opt/app/tomcat6/bin/setenv.sh export JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m  -XX:MaxPermSize=256m -XX:SurvivorRatio=14 -XX:+UseParallelOldGC"或直接修改tomcat的設定檔#vi TOMCAT_HOME/bin/catalina.shJAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m  -XX:MaxPermSize=256m -XX:SurvivorRatio=14 -XX:+UseParallelOldGC"


jvm參數說明:

-server                一定要作為第一個參數,啟用JDK的server版本,在多個CPU時效能佳 

-Xms                    java Heap初始大小。 預設是實體記憶體的1/64。

-Xmx                    java heap最大值。建議均設為實體記憶體的80%。不可超過實體記憶體。

-Xmn                    java heap最小值,一般設定為Xmx的3、4分之一。

-XX:PermSize            設定記憶體的永久儲存區初始大小,預設值為64M。

-XX:MaxPermSize        設定記憶體的永久儲存區最大大小,預設值為64M。

-XX:SurvivorRatio=2    生還者池的大小,預設是2。如果記憶體回收變成了瓶頸,您可以嘗試定製產生池設定

-XX:NewSize            新產生的池的初始大小。 預設值為2M。

-XX:MaxNewSize          新產生的池的最大大小。 預設值為32M。

+XX:AggressiveHeap      讓jvm忽略Xmx參數,瘋狂地吃完一個G實體記憶體,再吃盡一個G的swap。 

-Xss                    每個線程的Stack大小

-verbose:gc            現實垃圾收集資訊

-Xloggc:gc.log          指定垃圾收集記錄檔

-XX:+UseParNewGC        縮短minor收集的時間

-XX:+UseConcMarkSweepGC 縮短major收集的時間

-XX:userParNewGC        可用來設定並行收集(多CPU)

-XX:ParallelGCThreads  可用來增加並行度(多CPU)

-XX:UseParallelGC      設定後可以使用並行清除收集器(多CPU)

-XX:+UseParallelOldGC:配置年老代垃圾收集方式為並行收集。JDK6.0支援對年老代並行收集。



windows下修改JVM記憶體大小:


情況一:解壓版本的Tomcat, 要通過startup.bat啟動tomcat才能載入配置


要添加在tomcat 的bin 下catalina.bat 裡rem Guess CATALINA_HOME if not defined

set CURRENT_DIR=%cd%後面添加:

set JAVA_OPTS="-server -Xms800m -Xmx3072m -XX:PermSize=512m -XX:MaxNewSize=256m -XX:MaxPermSize=1024m"



另翻注(詳細解釋):

常見JVM參數配置匯總

堆設定

-Xms:初始堆大小


-Xmx:最大堆大小


-XX:NewSize=n:設定年輕代大小


-XX:NewRatio=n:設定年輕代和年老代的比值。如:為3,表示年輕代與年老代比值為1:3,年輕代占整個年輕代年老代和的1/4


-XX:SurvivorRatio=n:年輕代中Eden區與兩個Survivor區的比值。注意Survivor區有兩個。如:3,表示Eden:


Survivor=3:2,一個Survivor區占整個年輕代的1/5


-XX:MaxPermSize=n:設定持久代大小


收集器設定

-XX:+UseSerialGC:設定串列收集器


-XX:+UseParallelGC:設定並行收集器


-XX:+UseParalledlOldGC:設定並行年老代收集器


-XX:+UseConcMarkSweepGC:設定並發收集器


記憶體回收統計資訊

-XX:+PrintGC


-XX:+PrintGCDetails


-XX:+PrintGCTimeStamps


-Xloggc:filename


並行收集器設定

-XX:ParallelGCThreads=n:設定並行收集器收集時使用的CPU數。並行收集線程數。


-XX:MaxGCPauseMillis=n:設定並行收集最大暫停時間


-XX:GCTimeRatio=n:設定記憶體回收時間占程式已耗用時間的百分比。公式為1/(1+n)


並發收集器設定

-XX:+CMSIncrementalMode:設定為增量模式。適用於單CPU情況。


-XX:ParallelGCThreads=n:設定並發收集器年輕代收集方式為並行收集時,使用的CPU數。並行收集線程數。


本文出自 “營運筆錄 美玲” 部落格,請務必保留此出處http://meiling.blog.51cto.com/6220221/1655007

linuxt與windows下tomcat記憶體設定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.