ps命令中的CPU指的是进程占用CPU的时间百分比,具体含义是什么

对PS手册的解释是:







在# #进程的CPU利用率。#格式。
目前,它是使用的CPU时间除以时间
进程运行(可以/实时比),
以百分比表示。它不会增加到100%。
除非你是幸运的。(别名PCPU)。






这是在ps代码中处理的。







静态变量pr_pcpu(char * const outbuf const限制,限制proc_t * const PP){
unsigned long long total_time jiffies这个过程中所使用的; / * * /
符号PCPU = 0; / *比例% CPU 999,意味着99.9%。
无符号长秒秒的进程生命;
total_time = PP ->将+ PP ->时间;
如果(include_dead_children)= total_time(PP -> cutime +PP -> cstime);
秒= seconds_since_boot -聚丙烯- > start_time /赫兹;
如果(秒)=(PCPU total_time * 1000ull / /秒赫兹);
如果(PCPU > 999u)
返回snprintf(outbuf,colwid,% U
返回snprintf(outbuf,colwid,% %
}






是的seconds_since_boot减去系统开始在当前时间的时间获得,和开始时间是通过阅读获得的时间在 / proc /统计start_time设置时叉。过程的时间包括了用户态运行时间和内核态运行时间。这样,这个比例的意思是这个过程的时间在执行PS运行时间的比率,的过程和T的时间

如果include_dead_children选项指定在PS,这个过程的时间还包括运行时间的创造但死亡过程。cstime cutime和积累wait_task_zombie当父进程收集孩子的过程。例如,执行updatedb Bash和运行后执行

PS - EO PCPU、通讯、统计、PID | grep bash
和
PS S EO PCPU、通讯、统计、PID | grep bash
后者的比例更高。