我们服务器上的的服务和项目大部分都是JAVA的,现在来讲讲,这种服务器cpu100%如何定位 。
- 先使用top命令找到cpu最高的进程 。比如找到cpu最高的进程id,简称top_pid 。
- 使用top -Hp top_pid找到cpu最多的线程,这里记住最高的几个线程id,thread_id 。
- 现在我们将这些线程id转化成16进制,因为java堆栈里的线程id都是16进制的,转化后方便我们定位printf “%xn” thread_id
- jstack top_pid,打印出堆栈,然后用3步骤里找到的十六进制线程id,找到对应的堆栈
- 使用工具show-busy-java-threads.sh
- 使用arthas
推荐阅读
- 网络连接存在大量time_wait和close_wait的原因以及解决方法
- RFID防伪溯源解决方案
- 女人喝什么茶去湿气,去湿气吃什么湿气重喝什么茶湿气很好解决
- 局域网IP地址冲突、环路,如何解决?
- 局域网ip地址不够用怎么解决?
- 一次解决mysql锁表问题的经历
- 电脑常见问题自行解决,告别电脑城人人都会修电脑
- VPN解决方案的需求大幅激增
- 1秒解决gpu占用100-1秒解决cpu占用100怎么禁用-
- 凯文·杜兰特|90-78!篮网可以钓鱼了!杜兰特尽力,一大问题始终无法解决