Osx

nproc 中的線上處理器

  • November 7, 2018

當我執行命令時

$ 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 替代的特殊用法

nproc 列出了可供您使用的 CPU 數量。

ps 列出目前使用這些 CPU 的應用程序。

CPU 可以僅限於特定使用者使用,也可以出於散熱、電源或其他目的而動態關閉,從而使您無法使用它。

有虛擬 CPU 和其他復雜性(使術語程序和處理器更準確),但這是簡短的答案。

引用自:https://unix.stackexchange.com/questions/480299