Java 性能调优命令

以下命令都有 -options 来帮助查看有哪些参数设置

 

jps 命令

查看HotSpot当前运行有哪些虚拟进程号
在这里插入图片描述在这里插入图片描述

jstat (JVM Statistis Montiroring Tool) 命令

监视虚拟机各种运行状态信息的命令工具, 可以显示本地和远程的类装载,内存,垃圾收集,JIT编译等运行时数据
在这里插入图片描述

类相关信息监控

通过jps查询到进程端口之后, 使用jstat命令执行

  • -class 表示输出类相关的信息(类装载卸载时间)
  • -t 表示程序启动耗费了多少时间ms
  • -h3 表示每隔3s次打印一次表头
  • 12584 表示进程号
  • 1000 表示定时器时间,1s执行一次输出信息
  • 5 表示定时器输出了5次就终止

在这里插入图片描述

GC回收相关监控
  • -gc表示查看当前监控进程的内存使用
  • 14400 表示进程端口号
  • 1000 表示每隔1s执行输出一次监控信息
  • 10 表示输出10次就停止监控

在这里插入图片描述

jinfo 命令

查看HotSpot配置参数,可以用于调整其配置参数,很多情况下java程序不会指定所有的java虚拟机参数, 此时程序员可能不知道具体的java虚拟机默认参数是多少 。这种情况下就可以借助jinfo命令查看当前的信息

查询当前命令可以使用的参数
在这里插入图片描述
jinfo -sysprops 端口号 获取的数据都可以通过我们的System.getProperties()获取到
在这里插入图片描述
查看配置了哪些HotSpot的参数
在这里插入图片描述
jinfo 修改
在这里插入图片描述

java -XX:+PrintFlagFinal 命令

查看所有JVM参数的最终设置值
 

java -XX:+PrintFlagsInitial 命令

查看所有的JVM参数启动的初始值, 因为值比较多,可以输出到日志文件log保存

 

jmap 命令

导出(自动或手动)内存中映像文件(dump文件)以及查看gc,类装载,内存使用情况等
在这里插入图片描述
在这里插入图片描述

查看堆信息
在这里插入图片描述
 

jstack 命令

用于生成jvm虚拟机指定进程当前时刻的线程快照,线程快照就是当前虚拟机内指定进程的每一条线程正在执行的方法堆栈的集合

生成线程快照作用
可用于定位线程出现长时间停顿的原因, 如线程间死锁,死循环,请求外部资源导致的长时间等待问题。这些都是导致线程是长时间停顿的原因。当线程出现停顿时,就可以用jstack显示各个线程调用的堆栈情况

thread dump文件中,比较关心的状态:

  • 死锁(Deadlock)
  • 等待资源(Waiting on condition)
  • 等待获取监视器(Waiting on monitor entry)
  • 阻塞(Blocked)
  • 执行中(Runnable)
  • 暂停(Suspended)

 

jcmd 命令

一个混和的多功能命令,可以替代jstat,jinfo,jmap

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

魔道不误砍柴功

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

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

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

打赏作者

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

抵扣说明:

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

余额充值