내가 명령을 실행할 때
$ 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를 사용할 수 없게 될 수 있습니다.
가상 CPU 및 기타 복잡한 문제(이로 인해 프로세스 및 프로세서라는 용어가 더 정확해짐)가 있지만 이는 짧은 대답입니다.