获取某进程cpu占用有很多方法,比如top命令,ps命令,以及读取系统文件(/proc/pid/stat)等等,有时候需要评估某个程序运行过程中的资源占用(例如cpu占用、mem占用),此时可以利用上面的读取系统文件方法,准确方便地得到cpu/memory占用信息
通过/proc/pid/stat文件获取指定进程的cpu占用信息
(首先,/proc/self/stat其实就是本进程对应的cpu信息文件)
该文件有很多字段,其中跟cpu占用有关的为:utime、stime、cutime、cstime,他们的含义分别为:某进程在用户空间消耗的cpu时间片、在内核空间消耗的cpu时间片、 所有已死线程在用户态消耗的cpu时间片、所有已死线程在内核态消耗的cpu时间片,他们的单位为jiffies。
jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数,在linux中,一个节拍大致可理解为操作系统进程调度的最小时间片,不同linux内核可能值有不同,通常在1ms到10ms之间
关于jiffies,请参考:Li