JVM 指令使用

最主要的危險操做是下面這三種: 
1. jmap -dump 
這個命令執行,JVM會將整個heap的信息dump寫入到一個文件,heap若是比較大的話,就會致使這個過程比較耗時,而且執行的過程當中爲了保證dump的信息是可靠的,因此會暫停應用。spa

2. jmap -permstat 
這個命令執行,JVM會去統計perm區的情況,這整個過程也會比較的耗時,而且一樣也會暫停應用。線程

3. jmap -histo:live 
這個命令執行,JVM會先觸發gc,而後再統計信息。內存

上面的這三個操做都將對應用的執行產生影響,因此建議若是不是頗有必要的話,不要去執行。ci

幾個配置說明io

配置 說明
-Xms1024m 初始堆大小爲1024M
-Xmx1024m 最大堆大小爲1024M
-Xmn256m 年輕代大小爲256M
-XX:NewSIze=256m 新生代初始內存的大小
-XX:MaxNewSize=256m 年輕代最大值
-XX:PermSize=256m 持久代初始值
-XX:MaxPermSize=256m 持久代最大值
-Xss 每一個線程的堆棧大小
-XX:NewRatio=4 年老代與年輕代的比值爲4:1
-XX:SurvivorRatio=8 一個Survivor區佔整個Young Gen 的1/10

指令1:jstack  -l   pid  >/xxxx.txt(慎用)table

指令2:jstat  -gcutil  h3  pid   2000  20 配置

               h3,每三行顯示一次標題map

               2000 每2000ms顯示一次gc

              20 顯示20次統計

指令3:jmap  -histo pid 

相關文章
相關標籤/搜索