码迷,mamicode.com
首页 > 其他好文 > 详细

jvm学习

时间:2016-09-09 20:32:54      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

一、jps主要用来输出JVM中运行的进程状态信息
    jps [options] [hostid] 如果不指定hostid就默认为当前主机或服务器。
    Jps -ml

二、jstack主要用来查看某个Java进程内的线程堆栈信息
    jstat查看OLD区占用率。如果占用率到达或接近100%,则jmap取结果。假如取不到,尝试加/F
    jstat -gcutil PID
 三、jmap用来查看堆内存使用状况,一般结合jhat使用
    打印进程的类加载器和类加载器加载的持久代对象信息,输出:类加载器名称、对象是否存活(不可靠)、对象地址、父类加载器、已加载的类大小等信息
     jmap命令:  jmap -dump:file=dump.map PID
     jmap -permstat pid

     使用jmap -heap pid查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况
     
     使用jmap -histo[:live] pid查看堆内存中的对象数目、大小统计直方图,如果带上live则只统计活对象
     jmap -histo:live 21711 | more

      还有一个很常用的情况是:用jmap把进程内存使用情况dump到文件中,再用jhat分析查看
      jmap -dump:format=b,file=/tmp/dump.dat 21711 
      dump出来的文件可以用MAT、VisualVM等工具查看,这里用jhat查看
      jhat -port 9998 /tmp/dump.dat
      然后就可以在浏览器中输入主机地址:9998查看了

 

jvm学习

标签:

原文地址:http://www.cnblogs.com/sprinng/p/5857648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!