上下文切换
先用vmstat
查看系统上下文切换次数和中断次数;然后通过pidstat
guancha进程的自愿上下文切换和非自愿上下文切换情况;最后通过pidstat
观察线程的上下文切换情况,找出上下文切换次数增多的根源。使用的工具sysbench
。
进程CPU 使用率升高
先用top
查看系统和进程的CPU使用情况,发现CPU使用率升高的进程,再用perf top
观察该进程的调用链,最终找出CPU升高的根源。
系统CPU使用率升高
先用top
观察系统CPU升高,如果通过top
和pidstat
找不出高CPU使用率的进程,可以从CPU使用率不高但出于Running
状态的进程入手,找到可疑之处,最终通过perf record
和perf report
定位问题。
不可中断进程和僵尸进程
先用top
观察iowait
升高,查看到很多不可中断进程和僵尸进程;接着用dstat
查看,之后用pidstat
找出相关进程。再用strace
或者perf
分析集成调用链。
软中断
系统的软中断CPU使用率高,通过top
观察,查看/proc/softirqs
,找到几种变化速率较快的软中断,然后通过sar
、tcpdump
等工具查找是不是网络引起的。
注 具体的命令请自行查找