웹사이트 검색

최상위 명령 출력을 파일에 저장하는 방법


Linux top 명령은 시스템 가동 시간로드 평균, 사용된 메모리, 에 관한 시스템 통계를 실시간으로 표시하기 위해 시스템 관리자가 많이 사용합니다. 실행 중인 작업, 프로세스 또는 스레드 요약, 실행 중인 각 프로세스에 대한 자세한 정보.

그러나 실행 중인 시스템을 실시간으로 보는 것 외에도 top에 배치 모드로 작동하도록 지시하는 -b 플래그와 -n 을 사용하여 top 명령 출력을 파일에 저장할 수 있습니다. 플래그는 명령이 출력해야 하는 반복 횟수를 지정합니다.

아래 예에서는 top 명령의 출력을 현재 작업 디렉터리의 top.txt 파일로 리디렉션합니다. -n 인수는 명령의 스냅샷 하나만 언급된 파일로 보내는 데 사용됩니다.

top -b -n 1 > top.txt

결과 파일을 읽으려면 cat 명령, less 또는 more와 같은 명령줄 파일 판독기 유틸리티를 사용하십시오.

less top.txt

top 명령을 5번 반복하려면 아래 발췌에 표시된 대로 명령을 실행하세요.

top -b -n 5 > top-5iterations.txt

결과 파일에서 실행 중인 작업 수만 표시하려면 아래 명령 예와 같이 grep 필터를 사용하십시오.

cat top-5iterations.txt | grep Tasks

top 유틸리티에서 특정 프로세스의 스냅샷을 찍으려면 PID (-p) 플래그와 함께 명령을 실행하세요. 실행 중인 프로세스의 PID를 얻으려면 실행 중인 프로세스의 이름에 대해 pidof 명령을 실행하세요.

이 예에서는 PID의 세 가지 스냅샷을 찍어 top 명령을 통해 cron 프로세스를 모니터링합니다.

pidof crond
top -p 678 -b -n3 > cron.txt
cat cron.txt

for 반복 루프를 사용하면 아래 예와 같이 PID를 통해 2초마다 프로세스 통계를 표시할 수 있습니다. 루프의 출력을 파일로 리디렉션할 수도 있습니다. 위의 예에 표시된 것과 동일한 cron PID를 사용합니다.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done	

루프 출력을 파일로 리디렉션합니다.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
cat cron.txt

다음은 top 명령을 통해 시스템 및 프로세스 통계를 모니터링하고 수집하는 방법에 대한 몇 가지 예입니다.