Ubuntu의 각 CPU 코어에서 모든 프로세스를 실행하는 방법은 무엇입니까?

Ubuntu의 각 CPU 코어에서 모든 프로세스를 실행하는 방법은 무엇입니까?

저는 CPU 코어가 48개 있는 Ubuntu14.04 서버를 사용하고 있습니다. sar 정보를 보면 하나의 코어가 CPU 사용량이 높다는 것을 알 수 있습니다. 그래서 해당 코어에서 어떤 프로세스가 실행되고 있는지 알고 싶습니다. Ubuntu의 각 CPU 코어에서 모든 프로세스를 실행하려면 어떻게 해야 합니까?

답변1

ps -aeF다음을 사용하여 이 작업을 수행 C할 수 있습니다 .

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0  2015 ?        00:08:07 /sbin/init

또는 을 사용하여 열을 htop표시하도록 구성하고 PROCESSOR,

여기에 이미지 설명을 입력하세요.

CPU 선호도를 설정하려면 다음을 사용할 수 있습니다.작업 세트주문하다

답변2

Normal은 top마지막으로 사용한 CPU도 표시할 수 있습니다.

홈 화면을 보는 동안 을 누르고 아래쪽 화살표를 누른 다음 또는 스페이스바를 사용하여 f필드 관리 화면에 들어가야 합니다 . 또는 종료를 눌러 홈 화면으로 돌아갑니다.P = Last Used CPU (SMP)dq

출력의 가장 오른쪽 P 열이 마음에 들지 않으면 필드 관리 화면에서 P 열을 위로 이동해야 할 수도 있습니다.

답변3

이것이 오래되었다는 것을 인식하십시오. 그러나 ps 명령을 통해 어떤 프로세스가 어떤 코어를 사용하고 있는지 확인하려는 사람들을 위해 원하는 열은 psr입니다. C는 CPU 사용률입니다.

핵심 번호는 0-N입니다. 다음을 통해 핵심 세부정보를 볼 수 있습니다.

cat /proc/cpuinfo

4개의 코어가 있고 4번째 코어를 사용하는 모든 프로세스를 보고 싶다고 가정해 보겠습니다.

CORENUM=3; ps -e -o pid,psr,cpu,cmd | grep -E  "^[[:space:]][[:digit:]]+[[:space:]]+${CORENUM}"

위의 명령을 분석해 보세요.

변수 "CORENUM"을 생성하고 "3"(네 번째 코어)으로 설정합니다. 세미콜론으로 명령문을 종료하십시오(여기서 Enter를 누를 수 있음).

다음과 같이 ps 명령을 실행합니다. -e = 모든 프로세스 선택 -o = 사용자 정의 형식. 하나 이상의 쉼표로 구분된 형식 지정자로 구성됩니다. 이는 ps man("man ps") 페이지의 표준 형식 지정자 섹션에서 찾을 수 있습니다.

(슬래시를 사용하여 매뉴얼 페이지에서 검색하십시오).

원래 목록을 보려면 "L" 옵션("-" 제외)을 입력하면 됩니다.

ps L

따라서 여기에서는 사용자 정의 형식에 프로세스 ID, 프로세서, CPU 사용률, 마지막으로 명령이 나열됩니다.

그런 다음 grep으로 파이프되어 -E 옵션을 사용하여 확장 regx를 활성화하여 CORENUM 변수에 저장된 CPU 번호와 관련된 프로세스만 정확하게 출력하도록 시도합니다.

관련 정보