AIX에서 NMON을 사용하여 어떤 프로세스가 디스크를 사용하고 있는지 확인하는 방법

AIX에서 NMON을 사용하여 어떤 프로세스가 디스크를 사용하고 있는지 확인하는 방법

AIX 7.2 시스템에서 하루 중 특정 시간 사이에 속도 저하의 원인이 무엇인지 조사해야 했고, nmonExcel 분석기를 사용하여 .nmon 파일을 분석한 후 디스크 사용 그래프에서 내 하드 드라이브 중 하나 이상이 약 100에 도달한 것으로 나타났습니다. 45분 활용.

이것은 nmon내가 사용하는 명령입니다:

nmon -f -T -s 10 -c 720 -d -V -P -m /my/nmon/location/

제가 꼭 하고 싶은 일은 그 기간 동안 디스크를 사용하고 있던 정확한 프로세스를 알아내는 것입니다. 디스크 사용량 급증과 동시에 실행되는 프로세스를 검색하면 원인을 밝힐 수 있다고 생각합니다.

그렇다면 15시에 디스크 사용량 그래프가 급증한다고 가정하면 UARG 탭으로 이동하여 해당 시간에 실행 중인 프로세스를 검색해야 합니까? CPU를 가장 많이 소비하는 프로세스가 디스크 사용량을 담당해야 한다고 가정하는 것이 맞습니까?

해당 시간 동안 실행 중인 작업이 없습니다.

답변1

스냅샷과 옵션 사이에 10초 간격을 두면 -T10초마다 가장 중요한 프로세스를 캡처할 수 있습니다. 문제의 프로세스가 이러한 기간 중 하나 동안 "상위" 프로세스로 간주될 만큼 충분한 CPU 시간을 사용하기를 바랍니다.

시간 범위가 확보되면 NMON 파일에서 "스냅샷 번호"를 찾아 결과를 CHARIO 열을 기준으로 정렬합니다. 이를 통해 어떤 프로세스에 가장 많은 I/O가 할당되었는지 명확하게 알 수 있습니다.

스냅샷 번호를 얻으세요:

grep ^ZZZZ,T /my/nmon/location/my-file.nmon

다음과 같은 결과를 얻게 됩니다:

ZZZZ,T0001,11:43:21,26-SEP-2018
ZZZZ,T0002,11:43:31,26-SEP-2018
ZZZZ,T0003,11:43:41,26-SEP-2018

15:00 시간 범위에 해당하는 T000 번호를 찾은 다음 nmon 파일에서 이러한 T 코드를 찾아 열 11(CHARIO)별로 정렬합니다.

grep '^TOP,.*,T0024' my-file.nmon | sort -t, -k11n 

각 시간 범위 아래쪽에 있는 항목은 해당 시간 범위 동안 가장 많은 I/O를 수행했습니다. 문제의 45분 내에 동일한 프로세스가 표시되면 좋은 후보가 있는 것입니다. 물론 이 과정은 무죄일 수도 있다당신의I/O - 터미널 I/O 또는 다른 디스크에 대한 I/O를 수행할 수 있습니다.

관련 정보