zoukankan      html  css  js  c++  java
  • 在CentOS上导出JVM内存信息

    首先看下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
  • 相关阅读:
    ADB 多设备中指定设备的启动
    vuex 绑定表单,多个输入框的解决办法
    vue 自动触发点击事件
    js 打印dom的所有属性
    邮件分享
    table表格 td设置固定宽度
    Echarts--Y坐标标题显示不全
    ExtJS5.0 菜鸟的第一天
    字体设置
    短信验证码+倒计时
  • 原文地址:https://www.cnblogs.com/NetKillWill/p/CentOS_JVM.html
Copyright © 2011-2022 走看看