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

在CentOS上导出JVM内存信息

时间:2017-10-03 18:34:17      阅读:457      评论:0      收藏:0      [点我收藏+]

标签:root   data   roc   article   sans   一个   soc   ping   util   

首先看下Tomcat的进程Id:
[root@iZ25Z ~]# ps aux | grep java
www       2111  4.0 23.5 1637648 452756 ?      Sl   10:12   4:35 /usr/java/jdk1.7.0_80/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties ...  
可以看到Tomcat的进程Id是2111, 然后用JDK自带工具jmap来导出整个JVM 中内存信息:
# jmap -dump:format=b,file=文件名  [pid]

jmap -dump:format=b,file=mm.hprof 2111
然而我们却得到了这个提示:
jmap -dump:format=b,file=mm.hprof 2111
2111: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
这是因为我是以root这个用户执行的这个语句,但我的tomcat进程是以www用户运行的(用 ps aux | grep java 便能看到)。我们可以在机器上找到 /tmp/hsperfdata_$USER/$PID一个这样的文件,当我们执行jmap出现上述信息时,先检查执行该命令的用户是否和hsperfdata_$USER这个文件所属的用户一致,如果不一致,切换成一致再执行即可,或者根据提示,直接加个 -F 参数即可:
jmap -F-dump:format=b,file=mm.hprof 2111
man page对这个选项的说明是:
-F Force. Use with jmap -dump or jmap -histo option if the pid does not respond. The live suboption is not supported in this mode.
转载请注明出处,本文地址:http://www.iiilab.com/article/6

在CentOS上导出JVM内存信息

标签:root   data   roc   article   sans   一个   soc   ping   util   

原文地址:http://www.cnblogs.com/NetKillWill/p/CentOS_JVM.html

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