JDK中除java/javac外的工具使用介绍

福利这是我的个人IT资源网站,所有资源都免费,注册登录后就可以看到密码,需要什么大家尽情选取!

在jdk的bin目录中除了java和javac两个命令外,其实其他的命令也是很有用的,我们可以通过这些命令了解JVM的运行情况包括堆内存,在我们排查类似于内存溢出等问题时非常有用,下面我们来看一下比较实用的命令使用

  1. jps命令:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程
    主要选项
    -q:只输出LVMID(进程ID),省略主类名称
    在这里插入图片描述
    -m:输出虚拟机进程启动时传递给主类main()函数的参数
    在这里插入图片描述
    -l:输出主类的全名,如果进程执行的是Jar包,输出Jar路径
    在这里插入图片描述
    -v:输出虚拟机进程启动时JVM参数
    在这里插入图片描述
  2. jstat命令:JVM Statistics Monitoring Tool,用于手机HotSpot虚拟机个方面的运行数据
    主要选项
    -class:监视类装载、卸载数量、总空间以及类装载所耗费的时间
    在这里插入图片描述
    -gc:监视Java堆状况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息
    在这里插入图片描述
    S0C:Survivor0区的容量
    S1C:Survivor1区的容量
    S0U:Survivor0区的使用容量
    S1U:Survivor1区的使用容量
    EC:Eden区的容量
    EU:Eden区的使用容量
    OC:老年代的容量
    OU:老年代的使用容量
    MC:MetaSpace的容量
    MU:MetaSpace的使用容量
    CCSC:压缩类空间的容量
    CCSU:压缩类空间的使用容量
    YGC:Yong GC次数
    YGCT:Yong GC耗时
    FGC:Full GC的次数
    FGCT:Full GC耗时
    GCT:垃圾回收总耗时
    -gccause:与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因
    在这里插入图片描述
    -gcnew:监视新生代GC状况
    在这里插入图片描述
    -gcold:监视老年代GC状况
    在这里插入图片描述
    -compiler:输出JIT编译器编译过的方法、耗时等信息
    在这里插入图片描述
    -printcompilation:输出已经被JIT编译的方法
    在这里插入图片描述
  3. jinfo命令:Configuration Info for Java,显示虚拟机配置信息
    jinfo 进程号:查看某个JVM的全部信息
    在这里插入图片描述
    jinfo -flag 属性名 进程号
    在这里插入图片描述
  4. jmap命令:Memory Map for Java,生成虚拟机的内存转储快照(heapdump文件)
    主要选项
    -dump:生产Java堆转储快照。格式为:-dump:live,format=b,file=文件名称,其中live子参数说明是否只dump出存活对象
    在这里插入图片描述
    -finalizerinfo:显示在F-Queue中等待Finalizer线程执行finalize方法的对象。只在Linux/Solaris平台下有效
    -finalizerinfo
    -heap:显示Java堆详细信息,如使用哪种回收器、参数配置、分代状况等。只在Linux/Solaris平台下有效
    在这里插入图片描述
    -histo:显示堆中对象统计信息,包括类、实例数量、合计容量
    在这里插入图片描述
  5. jhat命令:JVM Heap Dump Browser,用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户可以在浏览器上查看分析结果
    在这里插入图片描述
    当出现Server is ready时,可以在浏览器输入IP:7000访问
    在这里插入图片描述
    在这里插入图片描述
    分析结果默认是以包为单位进行分组显示
  6. jstack命令:Stack Trace for Java,显示虚拟机的线程快照
    主要选项
    -F:当正常输出的请求不被响应时,强制输出县城堆栈
    在这里插入图片描述
    -l:除堆栈外,显示关于锁的附加信息
    在这里插入图片描述
    -m:如果调用到本地方法的话,可以显示C/C++的堆栈
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值