jvm汇总调试

CPU100%应对

如何使用jstack分析线程状态,CPU100%

#1 通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序
top

在这里插入图片描述

#2 top -Hp xxxx, xxxx是pid,可以查看该进程下各个线程的cpu使用情况
top -Hp 23344

在这里插入图片描述

# 3 jstack pid命令查看当前java进程的堆栈状态
jstack xxxxx

在这里插入图片描述

nid和之前top -Hp命令里的线程ID对应,10位数转16位数。本文中前面42302对应)xa53e

另外个:执行 jstack xxxx的时候提示:

39033: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding

百度了一下,可能原因是用户不一致:

# 查看java进程,带有用户
ps -ef | grep java

在这里插入图片描述
切换到work

sudo su -  work

其他命令

#jps命令用于查询正在运行的JVM进程
jps -m 

在这里插入图片描述

#jinfo 可以用来查看正在运行的java程序的扩展参数,甚至支持运行时,修改部分参数
jinfo -flags 102701
#jstat 它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形化界面,只提供纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具
jstat -gcutil 进程ID
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210204134512895.png)

Java自带的JVM性能监控及调优工具(jps、jinfo、jstat、jmap、javap)
JVM调优的常见命令行

JVM参数优化(基础篇)
JVM优化之优化常用参数和工具

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页