JDK自带性能诊断工具

JVM往期文章

前言

在开发,运行Java应用时,难免会遇到应用运行性能低效,内存泄露等问题,那么我们就需要借助分析工具去分析,优化应用系统,也就是常说的性能调优,而JDK自带的诊断工具可以有效的帮助我们快速定位问题。如:jps,jstack,jinfo等。

image-20210904220354568

可以看到,这些工具在 windows 上,就是 exe。而在 linux 中,一般自带了 OpenJDK,一般情况下 JPS 等命令不能用,要么选择去安装 JPS 等插件,要么把 OpenJDK 卸载,去重新安装 Oracle 的 JDK,个人建议是后者,毕竟后者只需要安装一次就包含了所有。

需要注意的是,这些工具大部分都是命令行工具,但也有可视化工具,如jconsolvisualvm

命令行工具

jps

java提供的一个显示当前所有java进程pid的命令,它的作用是显示当前系统的java进程情况及进程id。我们可以通过它来查看我们到底启动了几个java进程(因为每一个java程序都会独占一个java虚拟机实例)。

语法:jps [options] <pid>

image-20210906143004712

[options]选项:官方文档

  • -q:仅仅显示进程。
  • -m:输出主函数传入的参数。
  • -l:输出应用程序主类完整 package 名称或 jar 完整名称。
  • -v:列出 JVM参数。

jstat

是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据,在没有 GUI 图形界面,只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具。简单来说就是可以查看堆内存各部分的使用量,以及加载类的数量。

语法:jstat [options] [vmid] [间隔时间/毫秒] [查询次数]

[options]选项:官方文档

  • -class: 显示有关类加载器行为的统计信息。

  • -compiler:显示有关 Java HotSpot VM Just-in-Time(JIT) 编译器行为的统计信息。

  • -gc:显示有关垃圾收集堆行为的统计信息。

  • -gccapacity:显示各区大小。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汪了个王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值