67-jmap与stat工具实战分析

jmap与stat工具实战分析

实例:
public class MyTest5 {
    public static void main(String[] args) {
        for (; ;) {
            System.out.println("hello world");
        }
    }
}
  • linux 下查看java所有的进程端口号信息:ps -ef | grep java
    
  • window下不知道咋查看:
    在这里插入图片描述

    • 然后再:jmap -clstats [进程端口号:12880] 【-clstats:to print class loader statistics】
      在这里插入图片描述

      C:\Users\admin>jmap -clstats 12880
      Attaching to process ID 12880, please wait...
      Debugger attached successfully.
      Server compiler detected.
      JVM version is 25.131-b11
      finding class loader instances ..done.
      computing per loader stat ..done.
      please wait.. computing liveness.liveness analysis may be inaccurate ...
      
      class_loaderclassesbytesparent_loaderalive?type
      519971031null(空)live
      0x00000007
      02007190
      491455650x00000007
      020071f0
      livesun/misc/Launcher$
      AppClassLoader@
      0x00000007c000f6a0
      0x00000007
      020071f0
      00null(根类
      加载器)
      livesun/misc/Launcher$
      ExtClassLoader@
      0x00000007c000fa48

      total = 3 568 1116596 N/A alive=3, dead=0 N/A

  • jmap -heap [进程端口号] 【-heap:to print java heap summary】
    在这里插入图片描述
    ​ 执行:jmap -heap 2330 时候,当前线程的程序不能是dug模式启动,要改成run方式。
    在这里插入图片描述

  • jstat -gc [进程端口号] 【用来打印元空间的信息】
    在这里插入图片描述

    • 如果是MyTest5, MC MU的值是不会变的,编译之后就确定了
    • 而对于MyTest4来说,因为enhancer.create();不停的创建实例,所以MU是一直变化的。要么在默认情况下空间大小字段增加,要么显式设置空间大小下,被使用的容量达到最大时,程序终止。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值