CPU 사용량이 거의 100%인 것으로 알고 있는 노드에 로그인하고 있습니다(각각 거의 100% CPU를 사용하는 20개의 단일 프로세스 작업). 대화식으로 사용했을 때 top
첫 번째 반복에서는 약 20%의 사용량을 얻었고 ni
, 다음 반복과 올바르게 사용한 후의 모든 반복에서는 95% 이상의 ni
사용량을 얻었습니다. top
via 의 출력을 파이프하고 싶지만 top -bn1 > outfile
첫 번째 반복 top -bn1
(유일한 반복)에서 CPU 사용량이 잘못되었습니다. 사용하면 top -bn2
두 번째 반복에서는 올바른 사용법을 제공하지만 출력이 너무 많습니다.
top -bn1
CPU 사용량을 올바르게 제공하려면 어떻게 해야 합니까 ? 나는 사용 통계를 위해 이 스크립트를 작성하고 있으므로 필요한 경우 돌아가서 독립적으로 프로세스를 프로파일링하여 자체 CPU 사용량을 생성할 수 있지만, top
즉시 올바른 사용법을 제공할 수 있다면 좋을 것입니다.
편집: mpdstat -P ALL
나에게 동일하고 잘못된 초기 사용 통계를 제공했습니다. 그것을 알아내는 것도 좋을 것입니다. 을 사용할 수 있지만 mpstat -P ALL 1 1
이렇게 하면 출력이 두 번 생성됩니다.
답변1
첫 번째 반복의 출력을 삭제하면 됩니다.
top -bn2 | awk '/^top -/ { p=!p } { if (!p) print }'
답변2
일부 도구는 계산된 평균을 먼저 표시합니다. 다른 도구의 첫 번째 샘플은 불완전합니다. 전반적으로 원하는 결과를 얻으려면 첫 번째 샘플을 건너뛰는 것이 좋습니다.