admin 管理员组

文章数量: 1184232

工作中遇到CPU使用率100%,不要慌,一起来找出原因并fix掉它。

记住这里大致流程,当线上突然遇到时,也不必手足无措。

总体流程

找出CPU比较高的进程PID

top

打印该进程下线程的CPU占用比较高的tid

top -Hp {PID}

将该tid进行16进制转换id

printf "%x\n" {tid}

打印线程的堆栈信息

jstack {PID} |grep {id} -A 100

当然这四步的执行需要时间,但我们可以将这几步写成shell脚本来执行。

安装JDK命令行工具

服务器上安装的OpenJDK ,是否有常用的命令行工具?

验证是否安装

  1. [root@op-system ~]$ jstack -h

  2. Usage:

  3. jstack [-l] <pid>

  4. (to connect to running process)

  5. jstack -F [-m] [-l] <pid>

  6. (to connect to a hung process)

  7. jstack [-m] [-l] <executable> <core>

本文标签: 安装 编程 超负荷运