JVM命令:jsp(找进程),jstack(线程栈),jmap(内存),jinfo(参数)

定位排查问题时最为常⽤命令包括:

jps(进程)、jmap(内存)、jstack(线程)、jinfo(参数)等。

jps:查询当前机器所有Java进程信息

jmap:输出某个 Java 进程内存情况

jstack:打印某个 Java 线程的线程栈信息

jinfo:⽤于查看 jvm


jps找进程

jps(Java Virtual Machine Process Status Tool)⽤于输出当前⽤户启动的所有进程 ID,当线上发现故障或者问题时,利⽤ jps 快速定位对应的 Java进程 ID。

命令:jps -m

参数解释:

m:输出传⼊ main ⽅法的参数

l:输出完全的包名,应⽤主类名,jar的完全路径名

当然也可以用ps -ef | grep java找

或者自己学习:


jmap(Java Memory Map)

jmap(Java Memory Map)可以输出所有内存中对象的⼯具,甚⾄可以将 VM 中的 heap,以⼆进制输出成⽂本,使⽤⽅式如下: jmap -heap PID(输出当前进程JVM堆内存新⽣代、⽼年代、持久代、GC算法等信息)

 


jinfo(java info参数)

jinfo可以⽤来查看正在运⾏的 java 应⽤程序的扩展参数,包括Java System属性和JVM命令⾏参数;也可以动态的修改正在运⾏的 JVM ⼀些参数。

命令:jinfo pid

jinfo  64421 


 jstack(java stack栈)

查看某个线程的栈信息

  1. top -Hp pid 找哪个线程占cpu men高
  2. 将其转换为16进制形式(因为 java native 线程以16进制形式输出) printf '%x\n' pid
  3. 打印栈信息:jstack 进程PID| grep '0x5605 16进制' -A 50 --color

示例可参考:JavaWeb在线问题.Linux服务器CPU核查_闲猫的博客-CSDN博客


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

闲猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值