Java面试题——JVM(10)

拟墨画扇 提交于 2020-01-30 12:46:37

题目:假如生产环境程序CPU占有过高,请谈谈你的分析思路和定位。

结合linux和jdk命令一块分析案例

步骤如下

1、先用top命令找出cpu占用最高的
在这里插入图片描述
2、ps -ef或者jps进一步定位,得知是一个怎么样的一个后台程序
在这里插入图片描述
3、定位到具体线程或者代码
ps -mp 进程编号 -o THREAD,tid,time
在这里插入图片描述
参数解释:
-m 显示所有的线程
-p pid 进程使用cpu的时间
-o 该参数后是用户自定义格式

4、将需要的线程ID转换为16进制格式(英文小写格式)
命令:printf “%x\n” 有问题的线程ID
5102转换为16进制为13ee

5、jstack 进程ID|grep tid(16进制格式ID英文小写)-A60
在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!