CPU调度指标统计

进程:/proc/<pid>/schedstat
线程:/proc/<pid>/task/<taskId>/schedstat

$ cat /proc/14653/task/14653/schedstat 
3159274 269573 10

该文件有三列值:
第一列:进程或者线程在CPU上的执行时间,单位是纳秒(ns)
第二列:进程或者线程在CPU运行队列上等待的时间,单位也是纳秒(ns)
第三列:进程或者线程分配的CPU时间片数。

根据上面的性能指标,可以方便得统计或者计算出进程或者线程的CPU调度情况。例如物理机分配太多容器,cgroup可能导致容器CPU被限制,对应K8S的指标是container_cpu_cfs_throttled_seconds_total,使用该指标就可以方便得去定位。

参考:linux scheduler statistics

你可能感兴趣的:(linux,java,运维)