-
top은 프로세스들을 한 필드를 기준으로 정렬하여 프로세스의 정보를 실시간으로 업데이트하며 볼 수 있는 명령어입니다. -
top의 상단엔 System time, Load Average, Tasks, CPU, Memory의 정보가 출력되고 하단엔 프로세스의 정보가 출력됩니다. -
top은 실행 후 커맨드를 입력해 정렬 기준을 정하거나 모든 CPU들의 상태를 확인하는 등의 작업이 가능합니다. -
top을 실행했을 때 정렬 커맨드를 입력하지 않은 정렬 기본값은 프로세스의 CPU 사용률입니다. -
기본 커맨드 의미 space 목록 업데이트 q top 종료 c COMMAND 필드를 full format으로 확인하기 1 모든 CPU 확인하기 o 필터링 H 스레드 기준의 정보로 바꾸기 k 프로세스 종료 -
정렬 커맨드 의미 M 메모리 사용량 기준 P CPU 사용량 기준 N PID 기준 T CPU를 사용한 시간 기준 R 현재 기준을 역순으로 정렬
-
특정 프로세스의 정보만을 확인하고 싶거나 조건에 맞는 프로세스들의 정보를 확인하고 싶을 때 사용할 수 있습니다.
-
o를 입력한 후COMMAND=JAVA로 COMMAND에 JAVA가 포함된 프로세스들만 모니터링할 수 있습니다. -
혹은
%mem>=3으로 메모리 사용률이 3이상인 프로세스만 모니터링할 수도 있습니다.
-
k를 입력한 후 종료할 프로세스의 PID를 입력합니다. -
그 후 프로세스의 종료를 위해 보낼 시그널의 번호를 입력합니다.
H를 입력하여 스레드 기준으로 변경했을 경우 상단 정보들 중 TASK 항목은 THREAD로 변경되며 프로세스의 총 수가 아닌 스레드의 총 수로 변경되고 하단 프로세스 목록은 스레드의 목록으로 변경됩니다. 그 외 필드와 다른 정보는 변경되지 않습니다.
-
PID- 프로세스의 ID를 의미합니다. -
USER- 프로세스를 실행한 사용자의 이름입니다. -
PR- 프로세스의 실행 우선순위를 의미합니다. -
NI- nice value를 의미하며 프로세스의 우선순위에 영향을 줍니다.NI값이 더 작은 음수일수록PR우선순위는 높아집니다. -
VIRT- 프로세스의 가상 크기를 의미합니다. VIRT에는 디스크 파일을 읽으면서 사용했던 메모리, I/O Buffer 등 프로세스가 사용한 모든 메모리의 총합입니다. -
RES- 프로세스가 현재 사용하고 물리 메모리 영역의 크기를 의미합니다. -
SHR- 프로세스가 사용중인 공유 메모리의 크기를 의미합니다. -
%mem- 메모리 사용률로 프로세스가 전체 메모리 중 얼만큼을 사용중인지를 의미합니다. 전체 물리 메모리 크기 중 프로세스의 RES의 비율이라고 볼 수 있습니다. -
S- 프로세스의 상태를 나타냅니다. ex)sleep, running -
TIME+- 프로세스가 CPU를 사용한 총 시간을 의미합니다. -
COMMAND- 프로세스가 실행되기 위해 필요한 명령줄을 의미합니다.