[Linux] 리눅스 top 명령어, 프로세스 확인 (CPU, 메모리 사용률 확인)
top 명령어를 이용한 실행중인 프로세스 확인
top 명령어는 리눅스 계열 서버의 OS 상태를 확인할 수 있는 CLI 어플리케이션으로 서버에서 구동중인 모든 어플리케이션들을 CPU나 메모리 사용률 순서대로 나열하여 모니터링이 가능한 명령어이다.
서버의 CPU나 메모리의 사용량들을 확인할 수 있으며 Windows의 작업관리자와 같은 역할이라 생각하면 편하다. 배치와 같은 스케줄러 프로그램 구동시에 서버의 부하가 어느정도 되는지 테스트나 모니터링 할 때 주요하게 사용한다.
명령어 사용방법은 단순 top 명령어를 실행하면 사용이 가능하다.
서버의 CPU나 메모리의 사용률들을 대표적으로 볼 수 있으며, CPU 사용량이 많은 순서대로 프로세스 목록을 보여주고 있다.
첫 번째 줄 내용부터 현재시간을 표시하고, 서버가 구동된지 115일이 된 것을 확인할 수 있다.
현재 서버에 1명이 붙어 있으며, 1분/5분/15분 load 평균을 보여주고 있다.
두 번째 줄 내용은
총 172개의 프로세스가 수행 중이며, 1개의 프로세스가 실행 중인 것을 볼 수 있다.
세 번째 줄 내용은
CPU 사용률을 확인한다.
- us : 사용자 레벨의 CPU 사용 비중
- sy : 시스템 레벨의 CPU 사용 비중
- ni : 우선순위가 낮은 프로세스의 CPU 사용 비중
- id : 유휴 상태의 CPU 사용 비중
- wa : I/O를 대기중인 CPU 사용률
- hi : interrupt handler에서 사용 중인 CPU 사용률, 빠르게 수행을 마쳐야 하는 작업
- si : hi에서 오래 걸리는 작업 때문에 미뤄놓은 작업
- st : 하이퍼바이저가 다른 가상 프로세서를 서비스하는 동안 가상 CPU가 실제 CPU를 기다리는 시간
일반적으로 us와 sy를 더한 값이 CPU 사용률이라고 보면 되며, id값이 여유 cpu라고 보면 될 것같다.
나머지 네 번째, 다섯 번째 줄은 메모리 사용관련 정보이다.
실제 메모리 사용률과 스왑메모리 사용률을 나타낸다.
top 명령어 사용옵션
-d num : 초 단위 갱신주기를 설정한다.
실행 후 옵션
top 명령어 실행 후 출력화면에서 사용 가능한 옵션들
명령어 | 설명 |
1 | CPU 코어별 사용 현황 |
K | Kill 할 프로세스 PID 입력 |
H | 상단의 Tasks 기준을 쓰레드로 변경 |
U | 모니터링 할 User를 선택하여, 해당 권한 프로세스 감시 |
T | Task 항목 Show / Hide |
M | 메모리 사용률 Show / Hide (시각화) |
Shift + M | 메모리 사용률이 높은 프로세스 기준으로 나열 |
Shift + T | 수행시간이 긴 프로세스를 기준으로 나열 |
Shift + P | CPU 사용률이 높은 프로세스 기준으로 나열 |
출처 - https://m.blog.naver.com/PostView.naver?blogId=hongganz&logNo=222456616664&proxyReferer=