nproc 中的在线处理器

nproc 中的在线处理器

当我运行命令时

$ nproc --all
4

描述 打印当前进程可用的处理单元数量,该数量可能小于在线处理器数量

它陈述了current process和的概念online processors

如果使用ps,则输出13个进程

$ ps | sed '1d' | nl
     1    363 ttys000    0:01.09 -bash
     2  12779 ttys000    0:00.00 sed 1d
     3  12780 ttys000    0:00.00 nl
     4  12781 ttys000    0:00.00 sed s/me/me/g
     5    397 ttys001    0:00.26 -bash
     6  10088 ttys001    0:00.01 man bg
     7  10089 ttys001    0:00.01 sh -c (cd '/usr/share/man' && (echo ".ll 10.2i"; echo ".nr LL 10.2i"; /bin/cat '/usr/share/man/man1/builtin.1') | /usr/bin/tbl | /usr/bin/groff -Wall -mtty-char -Tascii -mandoc -c | (/usr/bin/less -is || true))
     8  10090 ttys001    0:00.01 sh -c (cd '/usr/share/man' && (echo ".ll 10.2i"; echo ".nr LL 10.2i"; /bin/cat '/usr/share/man/man1/builtin.1') | /usr/bin/tbl | /usr/bin/groff -Wall -mtty-char -Tascii -mandoc -c | (/usr/bin/less -is || true))
     9  10095 ttys001    0:00.00 sh -c (cd '/usr/share/man' && (echo ".ll 10.2i"; echo ".nr LL 10.2i"; /bin/cat '/usr/share/man/man1/builtin.1') | /usr/bin/tbl | /usr/bin/groff -Wall -mtty-char -Tascii -mandoc -c | (/usr/bin/less -is || true))
    10  10096 ttys001    0:00.01 /usr/bin/less -is
    11    374 ttys002    0:00.21 -bash
    12    438 ttys003    0:00.28 -bash
    13   9965 ttys003    0:13.74 /Users/me/anaconda3/bin/python /Users/me/anaconda3/bin/ipython

在线处理器是什么意思?是否nproc有 ps 无法替代的特殊用法

答案1

nproc 列出了您可用的 CPU 数量。

ps 列出当前使用这些 CPU 的应用程序。

CPU 可能会被限制为特定用户使用,或者出于散热、电源或其他目的而动态关闭,从而使其无法供您使用。

存在虚拟 CPU 和其他复杂情况(使进程和处理器这两个术语更加准确),但这就是简短的答案。

相关内容