로드가 가장 높은 프로세스를 어떻게 찾습니까?


10

로드 평균이 25를 초과하는 단일 코어 VPS가 있습니다. 그에 도달하면 참을 수 없을 정도로 느려지고 명령 실행 dash속도가 빠르며 RAM보다 적은 RAM을 사용 bash하면 실행하는 데 시간이 걸립니다. 어떤 프로세스가 고부하를 일으키는 지 어떻게 추적 할 수 있습니까?


2
sudo apt install htop이 목적을 위해 유용한 텍스트 모드 도구를 제공합니다 (표준보다 사용자 친화적 top). 그러나 top작은 발자국을 원한다면 좋습니다.
sudodus

2
로드 큐 길이는 CPU를 사용할 수있는 프로세스 수를 나타냅니다. 문제를 일으키는 단일 프로세스 일 필요는 없습니다.
Thorbjørn Ravn Andersen은

답변:


16

당신은 설치할 수 있습니다 htop. 좋은 점은 htopCPU 당 사용량뿐만 아니라 의미있는 메모리 텍스트 그래프와 맨 위에 사용량을 스왑한다는 것입니다.

설치하려면 htop:

sudo apt-get install htop

시작하십시오 :

htop

여기에 이미지 설명을 입력하십시오

을 눌러 F6프로세스를 정렬 한 다음 탐색 키를 사용하여 선택 PERCENT_CPU하고 enter를 누릅니다.

여기에 이미지 설명을 입력하십시오

또는 다음 top과 같이 사용할 수 있습니다 ( source ).

top -b -n 1 | head -n 12

2
바로 가기 P로 프로세서 사용량, M메모리 또는 T시간별 로 정렬 t하고 트리 레이아웃으로 돌아가는 데 사용할 수 있습니다 .
deltab

흥미롭게도 htop기본적인 마우스 지원이 있습니다. 열을 클릭하면 열별로 정렬 할 수 있습니다 (실수하지 않은 경우). 마우스와 함께 작동하는 다른 작업이 있습니다.
Ismael Miguel

11

아래는 Unix.SE 에서 도난 당했습니다. CPU 사용량이 60 % 이상인 경우 최대 CPU 사용량을 차지하는 프로세스를 찾으십니까? 물론이 질문에 적합합니다.

특정 CPU 사용량별로 프로세스 나열

ps ahux --sort=-c | awk '{if($3>0.0)printf"%s %6d %s\n",$3,$2,$11}'

CPU 사용률이 >0.0% 인 프로세스 목록 이 표시됩니다 >50.0. 필요에 따라이 값을 변경할 수 있습니다 (예 :) . 각 줄에는 CPU 사용률 (%), PID 및 프로세스 파일이 포함됩니다.

CPU 사용량이 가장 많은 프로세스 나열

ps ahux --sort=-c | awk 'NR<=5{printf"%s %6d %s\n",$3,$2,$11}'

NR<=5현재 가장 많은 CPU로드를 발생시키는 상위 5 개 ( ) 프로세스가 표시됩니다.


1

어제 공부 awk하고 있었고 다른 두 가지 답변을 가지고 놀았습니다. 결과는 다음과 같습니다.

  • 다음을 사용하여 CPU 사용량이 가장 높은 프로세스 만 얻으십시오 ps aux.

    ps auxh | awk -v max=0 '{if($3>max){CPU=$3; PID=$2; NAME=$11; max=$3}} END{printf "%5s %6d %s\n",CPU,PID,NAME}'
    
  • 다음을 사용하여 CPU 사용량이 가장 높은 세 가지 프로세스를 얻으십시오 top.

    top -b -n 1 | awk 'NR>7 && NR<11 {printf "top: %5s %6d %s %s\n",$9,$1,$12,$13}'
    
  • 다음을 사용하여 CPU 사용량이 가장 높은 세 가지 프로세스를 얻으십시오 ps aux.

    ps auxh --sort=-c | awk 'NR<=3 {printf "ps:  %5s %6d %s\n",$3,$2,$11}'
    

나는 (과 동시에 마지막 두 명령을 실행하려고했습니다 <command>; wait; <command><command> & <command> &),하지만 나는 그것을 전혀 할 수 없습니다 깨달았다 :)


참고 문헌 :


마지막 프로세스는 CPU 사용량이 가장 많은 프로세스를 표시하지 않지만 두 번째 프로세스로 시작합니다. 아마도 NR>=2거기에 있습니다 . 헤더 행을 생략하는 ps옵션 h을 제공합니다 . 내 업데이트 된 답변을 참조하십시오.
디저트

@dessert, 당신은 옳았습니다. 이전에는 NR>=2였지만 NR>1짧습니다 :) 나는 대답을 업데이트했습니다.
pa4080

1

top명령 사용

top- 리눅스 프로세스 표시

최상위 프로그램은 실행중인 시스템의 동적 실시간보기를 제공합니다. 현재 Linux 커널에서 관리중인 프로세스 또는 스레드 목록뿐만 아니라 시스템 요약 정보를 표시 할 수 있습니다. 표시된 시스템 요약 정보의 유형과 프로세스에 대해 표시되는 정보의 유형, 순서 및 크기는 모두 사용자가 구성 할 수 있으며 해당 구성은 재시작시에도 지속적으로 유지 될 수 있습니다.

출처

좋은 유튜브 자습서

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.