top 명령은 Linux에서 흔히 사용되는 성능 분석 도구로, Windows 작업 관리자와 유사하게 시스템 내 각 프로세스의 리소스 사용량을 실시간으로 표시할 수 있습니다. 다음은 사용법을 자세히 설명합니다. top은 동적 표시 프로세스입니다. 즉, 사용자의 키 입력을 통해 현재 상태를 계속해서 새로 고칠 수 있습니다. 이 명령을 전경에서 실행하면 사용자가 프로그램을 종료할 때까지 전경을 독점적으로 차지합니다. top 명령은 시스템의 실시간 제어를 제공합니다. 시스템에서 가장 CPU에 민감한 작업 목록을 표시합니다. 이 명령은 CPU 사용량, 메모리 사용량 및 다양한 기능을 기준으로 작업을 정렬할 수 있습니다. 이 명령은 대화형 명령을 통해 액세스하거나 개인 사용자 정의 파일에서 설정을 수행할 수 있습니다.
1. 명령형식 :
top [파라미터]
2. 명령 기능:
프로세스 ID, 메모리 사용량, CPU 사용량 등 현재 시스템에서 실행 중인 프로세스에 대한 관련 정보를 표시합니다.
3. 명령 매개변수:
-b 일괄 처리
-c 전체 처리 명령 표시
-I 실패 프로세스 무시
-s 비밀 모드
-S 누적 모드
-i
-u
-p
[root@TG1704 log]# top top - 14:06:23 up 70 days, 16:44, 2 users, load average: 1.25, 1.32, 1.35 Tasks: 206 total, 1 running, 205 sleeping, 0 stopped, 0 zombie Cpu(s): 5.9%us, 3.4%sy, 0.0%ni, 90.4%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 32949016k total, 14411180k used, 18537836k free, 169884k buffers Swap: 32764556k total, 0k used, 32764556k free, 3612636k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28894 root 22 0 1501m 405m 10m S 52.2 1.3 2534:16 java 18249 root 18 0 3201m 1.9g 11m S 35.9 6.0 569:39.41 java 2808 root 25 0 3333m 1.0g 11m S 24.3 3.1 526:51.85 java 25668 root 23 0 3180m 704m 11m S 14.0 2.2 360:44.53 java 574 root 25 0 3168m 611m 10m S 12.6 1.9 556:59.63 java 1599 root 20 0 3237m 1.9g 11m S 12.3 6.2 262:01.14 java 1008 root 21 0 3147m 842m 10m S 0.3 2.6 4:31.08 java 13823 root 23 0 3031m 2.1g 10m S 0.3 6.8 176:57.34 java 28218 root 15 0 12760 1168 808 R 0.3 0.0 0:01.43 top 29062 root 20 0 1241m 227m 10m S 0.3 0.7 2:07.32 java 1 root 15 0 10368 684 572 S 0.0 0.0 1:30.85 init 2 root RT -5 0 0 0 S 0.0 0.0 0:01.01 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 5 root RT -5 0 0 0 S 0.0 0.0 0:00.80 migration/1 6 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1 7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1 8 root RT -5 0 0 0 S 0.0 0.0 0:20.59 migration/2 9 root 34 19 0 0 0 S 0.0 0.0 0:00.09 ksoftirqd/2 10 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/2 11 root RT -5 0 0 0 S 0.0 0.0 0:23.66 migration/3 12 root 34 19 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/3 13 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/3 14 root RT -5 0 0 0 S 0.0 0.0 0:20.29 migration/4 15 root 34 19 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/4 16 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/4 17 root RT -5 0 0 0 S 0.0 0.0 0:23.07 migration/5 18 root 34 19 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/5 19 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/5 20 root RT -5 0 0 0 S 0.0 0.0 0:17.16 migration/6 21 root 34 19 0 0 0 S 0.0 0.0 0:00.05 ksoftirqd/6 22 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/6 23 root RT -5 0 0 0 S 0.0 0.0 0:58.28 migration/7
3612636k 캐시됨 - 총 버퍼링된 스왑 영역(3.6GB)
7번째 줄 이하 : 각 프로세스(작업) 상태 모니터링, 프로젝트 열 정보는 다음과 같습니다.
PID — 프로세스 ID
USER — 프로세스 소유자
PR — 프로세스 우선순위
NI — 좋은 가치. 음수 값은 높은 우선 순위를 나타내고 양수 값은 낮은 우선 순위를 나타냅니다.
VIRT - 프로세스에서 사용하는 총 가상 메모리 양(KB)입니다. VIRT=SWAP+RES
RES — 스왑 아웃되지 않은 프로세스에서 사용하는 물리적 메모리의 크기(kb)입니다. RES=CODE+DATA
SHR — 공유 메모리 크기, 단위 kb
S — 프로세스 상태. D=무중단 절전 상태 R=실행 S=절전 T=추적/중지 Z=좀비 프로세스
%CPU — 마지막 업데이트 이후 점유된 CPU 시간의 백분율
%MEM — 백분율 프로세스에서 사용하는 물리적 메모리
TIME+ — 프로세스에서 사용한 총 CPU 시간, 단위 1/100초
COMMAND — 프로세스 이름(명령 이름/명령줄)
기타 활용팁 :
1. Multi-U 멀티코어 CPU 모니터링
상단 기본 보기에서 키보드 숫자 "1"을 눌러 모니터링하세요. 각 논리적 CPU 상태:
위 그림을 보면 서버에 논리적 CPU가 16개 있는데 실제로는 물리적 CPU가 4개입니다. 상단 기본 보기 인터페이스로 돌아가려면 숫자 키 1을 다시 누르세요.
2. 현재 실행 중인 프로세스를 강조 표시합니다
키보드에서 "b"를 누르면(하이라이트 효과 켜기/끄기) 상단 보기가 다음과 같이 변경됩니다.
프로세스 ID가 2570인 "top" 프로세스가 강조 표시되어 있는 것을 발견했습니다. 이 프로세스는 뷰의 두 번째 줄에 표시되는 유일한 실행 프로세스입니다. "y" 키를 누를 수 있습니다. 실행 중인 프로세스의 강조 효과를 끄거나 켭니다.
3. 프로세스 필드 정렬
기본적으로 top에 들어가면 각 프로세스가 CPU 사용량에 따라 정렬됩니다. 아래 그림에서는 프로세스 ID가 28894인 Java 프로세스가 1위를 차지합니다(CPU 점유). 142%), 프로세스 ID 574인 Java 프로세스가 2위를 차지했습니다(CPU 점유율 16%).
키보드에서 "x"를 누르면(정렬 열의 강조 효과 켜기/끄기) 상단 보기가 다음과 같이 변경됩니다.
보시다시피 top의 기본 정렬 열은 "%CPU"입니다.
4. "shift + >" 또는 "shift +
아래는 한 번의 클릭을 보여줍니다. "shift + >" 렌더링은 이제 %MEM에 따라 뷰가 정렬됩니다.
예 2: 전체 명령 표시
명령:
top -c
출력:
지침:
예 3: 일괄 모드로 프로그램 정보 표시
명령:
top -b
출력:
설명:
예 4: 누적 모드에서 프로그램 정보 표시
명령:
top -S
출력:
설명:
예 5: 개수 설정 정보 업데이트
명령:
top -n 2
출력:
설명:
은 두 번 업데이트한 후 업데이트를 종료한다는 의미입니다.
예 6: 정보 업데이트 시간 설정
명령:
top -d 3
출력:
지침:
은 업데이트 주기가 3초임을 의미합니다.
예 7: 지정된 프로세스 정보 표시
명령 :
top -p 574
출력:
설명:
5.top 대화형 명령
top 명령 실행 중에 사용할 수 있는 일부 대화형 명령입니다. 이러한 명령은 단일 문자이며 명령줄에서 s 옵션을 사용하면 일부가 차단될 수 있습니다.
h 도움말 화면을 표시하고 짧은 명령 요약 지침을 제공합니다.
k 프로세스를 종료합니다.
i 유휴 프로세스와 좀비 프로세스를 무시합니다. 스위치 명령입니다.
q 프로그램 종료
r 프로세스 우선 순위 재정렬
S 누적 모드로 전환
s 새로 고침 간 지연 변경(단위는 s입니다. ), 소수가 있으면 ms로 변환합니다. 값 0을 입력하면 시스템이 계속해서 새로 고쳐집니다. 기본값은 5초입니다.
f 또는 F 현재 디스플레이에서 항목을 추가하거나 삭제합니다.
o 또는 O 표시된 항목의 순서를 변경합니다.
l 평균 로드 및 시작 시간 정보 표시 토글
m 메모리 정보 표시 토글
t 프로세스 및 CPU 상태 정보 표시 토글
c 명령 이름 표시로 전환하고 명령줄 완성
M 상주 메모리 크기로 정렬
P CPU 사용률로 정렬
T 시간으로 정렬/ 정렬 누적 시간
W 현재 설정을 ~/.toprc 파일에 기록합니다