JVM基礎知識

(1)JVM -Xmx 允許設置的最大內存大小

可以設置的最大JVM內存和JVM版本以及操作系統版本有關,一般Windows下1200-1500M左右,Linux下最大能到2600M; 
具體可以使用命令 java -XmxXXXXM -version 來進行測試(如:java -Xmx1024M -version),然後逐漸的增大XXXX的值,如果執行正常就表示指定的內存大小可用,否則會打印錯誤信息


(2)查看jvm 允許通過jinfo工具動態修改的參數

如下參數可以通過jinfo動態修改

  1. $java -XX:+PrintFlagsFinal | grep manageable   
  2.      intx CMSAbortablePrecleanWaitMillis            = 100             {manageable}          
  3.      intx CMSWaitDuration                           = 2000            {manageable}          
  4.      bool HeapDumpAfterFullGC                       = false           {manageable}          
  5.      bool HeapDumpBeforeFullGC                      = false           {manageable}          
  6.      bool HeapDumpOnOutOfMemoryError                = false           {manageable}          
  7.     ccstr HeapDumpPath                              =                 {manageable}          
  8.      bool PrintClassHistogram                       = false           {manageable}          
  9.      bool PrintClassHistogramAfterFullGC            = false           {manageable}          
  10.      bool PrintClassHistogramBeforeFullGC           = false           {manageable}          
  11.      bool PrintConcurrentLocks                      = false           {manageable}          
  12.      bool PrintGC                                   = false           {manageable}          
  13.      bool PrintGCDateStamps                         = false           {manageable}          
  14.      bool PrintGCDetails                            = false           {manageable}          
  15.      bool PrintGCTimeStamps                         = false           {manageable}  

使用jinfo工具,+表示向jvm增加參數,-表示取消這個參數

  1. $ jinfo -flag +HeapDumpBeforeFullGC 15920   
  2. $ jinfo -flag +HeapDumpAfterFullGC 15920 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章