본문 바로가기

리눅스/명령어

[시스템 모니터링 - TOP]

TOP


설명

리눅스시스템 운용상황을 실시간으로 모니터링하거나 프로세스를 관리할 수 있는 유틸.

서버평균 부하율 , CPU 사용률 , 메모리 사용현황 , 스왑메모리 사용현황 , 프로세스 자원현황 등을 확인.


명령어

top [option]


[option]


[명령 실행 후 option]


Top 명령어 화면 설명

top - 13:05:04 up  4:14,  3 users,  load average: 0.00, 0.00, 0.00


13:05:04 : 현재시간 

4:14 : uptime 시간

3 users : 로그인 사용자수 

load average : 시스템의 최근 1분 , 5분 , 15분에 대한 각각의 평균 부하율 (5일떄 부하 10 이상일떄 과부하)

Tasks: 157 total,   2 running, 155 sleeping,   0 stopped,   0 zombie


157 : 전체 실행된 현재 프로세스의 수

2 : 실행 중인 프로세스

155 : 유휴상태의 프로세스

0 : 정지된 프로세스

0 : 좀비 프로세스

Cpu(s):  2.4%us,  0.0%sy,  0.0%ni, 97.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st


2.4%us : 사용자가 사용 중인 cpu의 사용률

0.0%sy : 시스템이 사용하는 cpu의 사용률

0.0%ni : NICE 정책에 의해 사용되는 cpu의 사용률

97.6%id : 사용되지 않은 cpu의 미 사용률

0.0%wa : 입츌력 대기 상태의 사용률 

Mem:   1004412k total,   596484k used,   407928k free,    29808k buffers


1004412k : 전체 물리적인 메모리

596484k : 사용 중인 메모리

407928k : 사용되지 않은 여유 메모리

29808 : 버퍼 된 메모리의 양

Swap:  4194296k total,        0k used,  4194296k free,   213564k cached


4194296k : 전체 스왑 메모리

0k : 사용중인 스왑 메모리

4194296k : 남아있는 스왑 메모리

213564k : 캐싱 메모리

PID USER      PR  NI  VIRT  RES  SHR  S %CPU %MEM    TIME+  COMMAND    

4027 root      20  0  17384  672  468  S   0.0      0.1      0:00.00     anacron        


PID : 프로세스 ID

USER : 프로세스를 실행시킨 사용자

PR : 프로세스의 우선순위

NI : Nice값 (숫자가 작을수록 우선순위 값이 높다)

VIRT : 가상 메모리의 사용량

RES : 해당 프로세스의 물리적인 메모리 사용량

SHR : 분할된 페이지 , 프로세스에 의해 사용된 메모리를 나눈 메모리의 총합

S : 프로세스의 상태 (S[Sleep] , R{running] , W[swapped out prcess] , Z[zombies])

%CPU : 프로세스가 사용하는 CPU의 사용률

%MEM : 프로세스가 사용하는 메모리의 사용률

TIME+ : 100분의 1초 단위로 반영하는 CPU 사용 시간 값

COMMAND : 실행된 명령어 


실습 

1) 정렬 방법

Current Sort Field:  N  for window 1:Def


top 명령어로 실행 후 shfit+f를 누르면 위와같이 Field에 N이라고 적혀있다. N은 아래표를 확인하면 메모리 정렬인걸 확인.

shfit+f를 누른 후 아래표시된 표에 해당하는 키를 누르면 해당 키에 관한 정보로 정렬이 된다. (d 누를시 UID로 정렬)

Select sort field via field letter, type any other key to return 


  a: PID        = Process Id              v: nDRT       = Dirty Pages count

  b: PPID       = Parent Process Pid      w: S          = Process Status

  c: RUSER      = Real user name          x: COMMAND    = Command name/line

  d: UID        = User Id                 y: WCHAN      = Sleeping in Function

  e: USER       = User Name               z: Flags      = Task Flags <sched.h>

  f: GROUP      = Group Name

  g: TTY        = Controlling Tty       Note1:

  h: PR         = Priority                If a selected sort field can't be

  i: NI         = Nice value              shown due to screen width or your

  j: P          = Last used cpu (SMP)     field order, the '<' and '>' keys

  k: %CPU       = CPU usage               will be unavailable until a field

  l: TIME       = CPU Time                within viewable range is chosen.

  m: TIME+      = CPU Time, hundredths

* N: %MEM       = Memory usage (RES)    Note2:

- 생략 -


2) 특정 프로세스 킬

top - 13:50:14 up  4:59,  3 users,  load average: 0.00, 0.00, 0.00

Tasks: 157 total,   1 running, 156 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Mem:   1004412k total,   658552k used,   345860k free,    35360k buffers

Swap:  4194296k total,        0k used,  4194296k free,   247728k cached

PID to kill: 


top 명령어 실행 후 'k'를 누르면 위와같이 특정 프로세스를 죽일 수 있는 커맨드 라인이 표시된다.


3) CPU 정보 확인

top - 13:51:35 up  5:01,  3 users,  load average: 0.00, 0.00, 0.00

Tasks: 157 total,   1 running, 156 sleeping,   0 stopped,   0 zombie

Cpu0  :  1.7%us,  0.3%sy,  0.0%ni, 98.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st


top 명령어 실행 후 숫자1을 누르면 CPU뒤에 번호가 생기면서 해당 CPU의 정보가 표시됨.

현재 CPU가 한개의 정보만 출력된다.


'리눅스 > 명령어' 카테고리의 다른 글

[링크주소 다운로드 - wget]  (0) 2017.11.09
[압축관련 - tar]  (0) 2017.11.08
[메모리 상태 확인 - vmstat]  (0) 2017.11.05
[백그라운드 프로세스 - nohup]  (0) 2017.11.05
[프로세스 우선순위 - nice , renice]  (0) 2017.11.05