its*_*_me 6 linux command-line ps
例如,此 BSD 样式命令的输出字段之一ps aux
是“%CPU”。替代命令ps -efl
输出“C”(或 CP)字段。
根据ps
手册页:
这就是ps
手册页详细说明 %CPU 或 C 的方式。但互联网上的大多数书籍和网站都简单地说,%CPU or C is CPU usage of a process
.
有人会认为这意味着进程使用的 CPU 处理能力占 CPU 总可用处理能力的百分比。还是只有我一个人?
CPU 时间与实时时间的比率(以多种合理方式之一计算)是衡量进程使用的 CPU 处理能力占 CPU 可用总处理能力的百分比。
系统中的每个进程都可以处于两种状态:它要么在处理器上运行,要么在等待(实际情况比这复杂一点,进程状态更多,但为了简单起见,这个答案没有“ t 区分非运行状态,如可运行、可中断等待、不可中断等待等)。
普通进程通常会花一些时间在处理器上运行,然后最终等待事件发生(例如,数据到达网络连接、磁盘 I/O 完成、锁变得可用、CPU 在可运行进程完成后再次可用)用完它的时间量)。
进程在某个时间间隔内在处理器上运行的时间与该间隔的长度之比是一个非常有趣的特性。进程在这个特性上可能有很大的不同,例如,一个运行科学计算程序的进程很可能最终会使用大量的 CPU 和很少的 I/O,而你的 shell 主要等待 I/O 并偶尔进行一些处理。
在理想情况下(没有来自调度程序的开销,没有中断等)并且通过完美的测量,系统上每个进程在一秒内使用的 CPU 时间总和将小于一秒,剩余时间是空闲 CPU 时间。随着您添加更多进程,尤其是受 CPU 限制的进程,空闲 CPU 时间部分会缩小,并且所有进程在每一秒内使用的总 CPU 时间量接近一秒。此时,额外进程的添加可能会导致可运行进程等待 CPU,从而增加运行队列长度(以及平均负载)并最终减慢系统速度。
请注意,采用进程的整个 CPU 时间与自启动以来经过的时间的简单比率最终表示进程的平均CPU 使用率。由于某些进程在运行时会改变行为(例如,数据库服务器等待查询与同一数据库服务器执行大量复杂查询),因此了解最近的 CPU 使用情况通常更有趣。出于这个原因,一些系统(例如 FreeBSD、Mac OS X)根据此联机帮助页采用了衰减平均值:
进程的CPU利用率;这是前一(实际)时间最多一分钟的衰减平均值。由于计算的时基不同(因为进程可能非常年轻),所有 %cpu 字段的总和可能超过 100%。
Linux 有一个简化的记帐方式,可以根据此联机帮助页为您提供 CPU 使用率:
CPU 使用率目前表示为在进程的整个生命周期内运行所花费的时间百分比。这并不理想,也不符合 ps 在其他方面符合的标准。CPU 使用率加起来不太可能正好是 100%。
归档时间: |
|
查看次数: |
18241 次 |
最近记录: |