系统变慢:1.Linux常用命令,2.CPU占用过高排查

Linux 命令查问题

角度: 整机,CPU,内存,硬盘,磁盘IO,网络IO.

  1. 整机: a. top: load average: V(1min), V(5min), V(15min), b.uptime: 轻top
  2. CPU:
    • vmstat -n <#SAMPLE>, e.g. vmstat -n 2 3
    • mpstat -P ALL : m: 所有
    • pidstat -u 1 -p PID
  3. 内存:
    • free -m, free
    • pidstat -p PID -r
  4. 硬盘: df -h
  5. 磁盘IO:
    iostat -xdk <#SAMPLE>, e.g. iostat -xdk 2 3
  6. 网络IO: ifstat 1

CPU占比过高

怎么排查?

快准狠: 结合Linux和JDK命令分析,直接找到出问题的地方.

  1. top: 概览
  2. ps -ef|grep PID或者jps定位 PID(进程id)
  3. ps -mp PID -o THREAD, tid, time 定位到具体tid(线程id)
  4. jstack PID|grep tid(HEX) -A60, tid(HEX):16进制的tid; -A60:前60行

这样就直接找到了出问题的线程和该线程的问题

further JDK命令:

  • jps
  • jinfo
  • jmap: 内存映射工具
  • jstat: 统计信息监测工具
  • jstack: 堆栈异常跟踪工具
  • jvisualvm
  • jconsole

你可能感兴趣的:(系统变慢:1.Linux常用命令,2.CPU占用过高排查)