分析工具
分析工具
工具法
uptime:检查负载平均数以确定cpu负载是随时间上升还是下降
vmstat:每秒允许vmstat,然后检查空闲列,看看有多少余量
mpstat:检查单个热点cpu,挑出一个可能的线程扩展性问题
top/prstat:观察进程的cpu占用情况
pidstat/prstat:把进程cpu消耗分解成用户和系统时间
perf/dtrace/stap/oprofile:从用户时间或内核时间的角度剖析cpu使用的堆栈跟踪,以了解为什么使用这么多cpu
perf/cpustat:测量cpi(每指令周期数)
USE方法
对每个cpu,检查以下内容
使用率:cpu繁忙的时间
饱和度:可运行线程排队等待cpu的程度
错误:cpu错误
负载特征归纳
平均负载
用户时间和系统时间之比
高用户时间是因为应用程序在执行自己的计算,高系统时间则要查看系统调用或者中断频率
系统调用频率
自愿上下文切换频率