>  기사  >  운영 및 유지보수  >  Linux에서 프로세스가 어떤 CPU에 있는지 확인하는 방법

Linux에서 프로세스가 어떤 CPU에 있는지 확인하는 방법

WBOY
WBOY원래의
2022-05-23 16:48:518801검색

보기 방법: 1. 프로세스가 실행 중인 CPU를 표시할 수 있는 top 명령을 사용합니다. 구문은 "top -p 프로세스 번호"입니다. 2. 프로세스가 어떤 CPU에서 실행되는지 확인하는 데 사용되는 taskset 명령을 사용합니다. 또는 스레드가 실행 중일 때 구문은 "tasksset -p 프로세스 번호"입니다.

Linux에서 프로세스가 어떤 CPU에 있는지 확인하는 방법

이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.

Linux에서 프로세스가 실행 중인 CPU를 확인하는 방법

방법 1: top 명령 사용

top 명령은 프로세스가 실행 중인 CPU를 표시하고 시간 경과에 따른 변경 사항을 지속적으로 모니터링하여 어떤 CPU를 확인할 수 있습니다. 프로세스가 실행 중입니다.

사용 단계:

top -p [进程号],例如 top -p 3000

"F" 키를 누르고 위쪽 및 아래쪽 키를 사용하여 P = 마지막 사용 CPU를 선택한 다음 "*"가 나타나면 선택을 표시한 다음 "q"를 누릅니다. 출구.

방법 2: taskset 명령 사용

taskset은 특정 프로세스(또는 스레드)가 실행 중인 CPU를 확인하거나 특정 또는 특정 CPU에서 프로그램이 실행되도록 할 수 있습니다.

taskset 매개변수 옵션:

(1 )-p, --pid: 기존 PID에서 작동하고 새 작업을 시작하지 않습니다.

(2)-c, --cpu-list: 비트마스크가 아닌 프로세서 번호 목록을 지정합니다. 목록에는 쉼표와 범위로 구분된 여러 항목이 포함될 수 있습니다. 예를 들어 0, 5, 7, 9 - 11입니다.

1) 프로세스가 실행 중인 CPU를 표시합니다: -p 매개변수

예 1:

[root@localhost ~]# taskset -p 21184

표시 결과:

pid 21184’s current affinity mask: ffffff

참고: 21184는 프로세스 번호입니다. 결과를 표시하는 ffffff는 실제로 바이너리의 하위 24비트가 모두 1인 비트마스크입니다. 각 1은 CPU 1개에 해당하며 프로세스가 CPU 24개에서 실행되고 있음을 나타냅니다.

예 2:

[root@localhost ~]# taskset -p 2030

표시 결과:

pid2030’s current affinity mask: f

참고: sshd가 4개의 CPU를 무작위로 켜는 것을 보여줍니다.

예 3:

[root@localhost ~]# taskset -p 2726

표시 결과:

pid 2726’s current affinity mask: 3

참고: 표시된 십진수 3은 이진수로 변환되고 가장 낮은 두 개는 1입니다. 각 1은 하나의 CPU에 해당하므로 프로세스는 2개의 CPU에서 실행됩니다.

*참고: *cpu 레이블은 0부터 시작하므로 cpu1은 두 번째 CPU를 나타냅니다(첫 번째 CPU 레이블은 0입니다).

변환 방법에 대하여

8코어의 CPU ID: 7 6 5 4 3 2 1 0

10의 해당 십진수: 128 64 32 16 8 4 2 1

16진수 16진수는 다음과 같습니다. 각 16진수 이진수에 해당하는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

: 0=0000,1 =0001,2= 0010,3=0011,4=0100,5=0101,6=0110,7=0111,8=1000,9=1001,A=1010,

B=1011,C=1100,D =1101,E= 1110,F=1111

예를 들어, pid 8987의 현재 선호도 마스크: ff ff는 16진수이며 이진수: 11111111로 변환됩니다. 이는 sshd가 8개의 CPU에서 대체된다는 의미입니다! 따라서 각 값에 해당합니다!

예를 들어 16진수로 40을 입력한 다음 이진수 01000000으로 변환하면 7번째 CPU에서 작동한다는 의미입니다.

추천 학습: Linux 비디오 튜토리얼

위 내용은 Linux에서 프로세스가 어떤 CPU에 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.