运行ps
命令时,输出如下:
PID TTY TIME CMD
494 pts/0 00:00:00 ps
29487 pts/0 00:00:00 bash
32617 pts/0 00:00:02 gedit
为什么是TIME
00:00:00
for bash
?根据GeeksforGeeks的说法,解释如下:
它只是任何进程的总累积 CPU 使用时间,00:00:00 表示到目前为止内核还没有提供 CPU 时间。在上面的例子中,我们发现,对于 bash,没有给出 CPU 时间。
有人有更好的解释吗?
该命令以秒
ps
为单位报告进程的 CPU 使用率。如果您想以毫秒为单位获取此信息,可以查看此答案的末尾。ps
将进程使用的总 CPU 时间截断到最接近的低秒,因此您可以安全地假设您查找的进程(bash
在您的情况下)到目前为止使用的 CPU 时间不到一秒。这是正常的,因为
bash
不会做任何数字运算来花费过多的 CPU 周期。bash
只需从输入中读取命令并调用相关的可执行文件来完成命令请求的工作。bash
本身不是“CPU 绑定”进程。但是,您可以bash
通过运行以下bash
命令来利用一些 CPU 时间,等待几秒钟并使用Ctrl+杀死它C:bash
之后,您可以通过再次运行ps
再次检查所花费的 CPU 时间。我编写了一个简单的脚本来显示进程使用的总 CPU 时间(以毫秒为单位)。实际上,在大多数系统上,时钟每秒滴答 100 次,因此输出的精度以几十毫秒为单位。您可以通过传递一个指定您感兴趣的进程的进程 ID 的参数来调用此脚本,例如,它将
494
在您的问题中。