jvm 幾個參數及最大內存

最近由於工作需要,需要調整jvm的幾個參數。

 

-Xms1024m -Xmx1024m -Xss1024k -XX:NewSize=768m -XX:MaxNewSize=768m -XX:MaxPermSize=256m -XX:+UseParallelGC -XX:+UseParallelOldGC  -Dfile.encoding=UTF-8


jvm分配的內存,粗略的分爲

Xms :虛擬機啓動時,默認分配的內存


Xmx:虛擬機使用的最大的內存


Xss:每個請求線程分配的內存數
XX:NewSize:對於 程序中new 出來的對象存放的區域的內存空間大小(初始值)
XX:MaxNewSize:對於 程序中new 出來的對象存放的區域的內存空間大小(最大值)
XX:MAXPermSize:程序中,非堆內存的上限。此處的內存將不被GC回收。


-XX:+UseParallelGC   並行收集新生代堆內存
-XX:+UseParallelOldGC  並行收集old 堆內存

-Dfile.encoding=UTF-8   jvm字符集


在配置內存時, 服務器的內存爲8G,因此我給jvm最大內存設置爲2 G。可是啓動就報錯了。究其原因是,在32位系統下,jvm內存有個最大值的上限。該上限可用 

java -Xmx1610M -version

查看。

如果可正常顯示java的版本信息,則證明該內存值可識別,如顯示錯誤,則證明該內存值無法識別。

32位的jdk,大約在1.5G左右。


這篇文章對 -XX:+UseParallelOldGC 解釋的很棒

UseParallelOldGC

發佈了48 篇原創文章 · 獲贊 12 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章