Java CPU使用率高排除方法
2023-12-15 03:28:05
CPU使用率高排除方法
查询CPU使用率高的进程
ps aux --sort=-pcpu | head -10
通过ps指令看到pid=1799程序CPU使用率47.1%,再看看程序的线程使用情况。
查询线程CPU使用率
ps命令方式
排序列出“29116”cpu使用率高的前10名线程
ps -mp 29116 -o THREAD,tid,time |sort -k2,2nr |head -10
ps -mp 29116 -o THREAD,tid,time | sort -rn
top 命令方式
top -p PID
top -p PID:观察该PID对应进程的占用情况。“shift + h” 开启线程显示,观察CPU占用较高的线程
查询线程堆栈
将需要的线程ID转换为16进制格式
printf “%x\n” tid
打印线程的堆栈信息:
jstack pid |grep tid -A 30
jstat 查询gc情况
jstat命令命令格式:
jstat [Options] vmid [interval] [count]
参数说明:
Options,选项,我们一般使用 -gcutil 查看gc情况
vmid,VM的进程号,即当前运行的java进程号
interval,间隔时间,单位为毫秒
count,打印次数,如果缺省则打印无数次
jstat -gcutil 3001 5000 10
每5秒打印一次GC情况,打印10次。
文章来源:https://blog.csdn.net/NF_ALONG/article/details/134070935
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!