CPU状态
sleeping 线程处于休眠状态 一般是在等待事件驱动
runnable 线程有任务要运行,但是没有cpu调度让它运行,如果长时间调度不到,说明CPU繁忙
running 线程正在运行
uninterruptible sleep NON IO 不可中断的休眠,非IO 在等内核锁,通常是低内存导致等待
uninterruptible sleep Block IO 不可中断的休眠 IO阻塞
::blocked_reason
CPU usage:
某阶段总的CPU运行时间 / duration
Wall duration / selected range
某个进程CPU Usage From SQL:
SELECT process.name, (sum(dur)/1e9) AS cpu_sec
FROM sched
JOIN thread using(utid)
JOIN process using(upid)
WHERE ts <= (SELECT ts+5000000000 FROM sched ORDER BY ts LIMIT 1)
GROUP BY upid
ORDER BY cpu_sec desc
LIMIT 100;
统计某个进程在各CPU上的CPU Usage:
SELECT
process.name as process,
cpu,