当我运行命令时
$ nproc --all
4
DESCRIPTION 打印当前进程可用的处理单元数,可能小于在线处理器数
它陈述了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 替代的特殊用途
nproc 列出了可用的 CPU 数量。
ps 列出当前使用这些 CPU 的应用程序。
CPU 可以限制为特定用户使用,也可以出于散热、电源或其他目的而动态关闭,使其对您不可用。
有虚拟 CPU 和其他并发症(使术语进程和处理器更准确),但这是简短的答案。