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 

相关文章
相关标签/搜索