top 명령어

System/Linux 2011. 9. 27. 08:54

top : cpu를 집중적으로 사용하는 프로세스를 중심으로 최신 정보를 계속 줍니다.

        시스템 상태와 대부분의 프로세스들을 refresh 해서 연속적으로 화면에 보여줍니다.

 

 전체 화면

# top

 

 

 프로세스 정보

 

 

1) 1행 : 시스템의 가동 시간과 평균 부하의 숫자를 출력

 

top - 10:41:26 up 3:35, 2 users, load average: 0.00, 0.01, 0.05

 

-> 현재시간(10:41:26)과 uptime 값(up ), 현재 로그인된 사용자 수(2 users), 시스템의 최근 1분, 5분, 15분에 대한 각각의 평균 부하율(load average): 0.00, 0.01, 0.05)를 나타냅니다.

* load average : 작업의 대기시간을 말합니다. 값이 1이 나왔다면 1분동안 평균 1개 정도의 프로세서가 대기상태에 있다는 것입니다. 서버마다 차이가 있긴 하지만 5 정도면 서버가 부하를 받는 다고 생각합니다. 과부하는 10 ~ 15이상이면 과부하라고 봅니다

* uptime : 시스템의 평균 부하율 정보를 확인할 수 있습니다.

   - # uptime

  

   - 현재시간(11:22:51), 재부팅 없이 운영중임(up ),  로그인한 시간(4:17), 현재 시스템에 접속한 사용자(2 users), 1분, 5분, 15분간의 시스템 평균 부하율(load average: 0.00, 0.01, 0.05) 정보를 출력

 

 

2) 2행 : 현재 실행중인 프로세스들의 상황

 

Tasks:  69 total,   1 running,  68 sleeping,   0 stopped,   0 zombie

 

-> 전체 실행된 현재 프로세스의 수는 (69 total), 실행중인 프로세스 ( 1 running), 유휴상태의 프로세스(68 sleeping), 정지 된 프로세스( 0 stopped), 좀비 프로세스(0 zombie)들의 상황을 알려줍니다.

 

 

3) 3행 : CPU의 사용에 대한 상황 (이 정보를 통해 CPU의 사용현황을 파악하여 CPU의 추가적인 보강 계획이나 업그레이드 등의 계획을 세울수 있습니다)

 

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

 

-> 사용자가 사용중인 CPU의 사용율(1.3% us), 시스템이 사용하는 CPU의 사용율(0.3% sy), NICE 정책에 의해 사용되는 CPU의 사용율( 0.0% ni), 사용되지 않는 CPU의 미사용율(96.3% id), 입출력 대기상태의 사용율(1.9% wa)등의 상황에 대해 알려줍니다.

 

 

4) 4행 : 메모리의 사용에 대한 상황 (이 정보를 통해 메모리의 사용 현황에 대해 파악하고 메모리의 부족 현상 등을 분석하여 추가적인 메모리의 확장에 대해 고려할수 있습니다.)

 

Mem:   1025700k total,   340708k used,   684992k free,    43968k buffers

 

-> 전체 물리적인 메모리(1025700k total), 사용중인 메모리(340708k used), 사용되지 않는 여유 메모리(684992k free), 버퍼된 메모리의 양(43968k buffers)등의 상황에 대해 알려줍니다.

 

 

5) 마지막행 : 스왑메모리의 사용에 대한 상황(스왑 메모리의 사용이 증가할 경우에는 물리적 메모리의 확장을 고려)

 

Swap:   407548k total,        0k used,   407548k free,   137860k cached

 

-> 전체 스왑 메모리(407548k total), 사용중인 스왑 메모리( 0kused), 남아있는 스왑메모리(407548k free), 캐싱메모리(137860k cached)등의 상황에 대해 알려줍니다.

 

 필드 설명

 

 

* PID : 프로세스 ID (PID)

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

* PRI : 프로세스의 우선순위 (priority)

* NI : NICE 값. 일의 nice value값이다. 마이너스를 가지는 nice value는 우선순위가 높다.

* VIRT : 가상 메모리의 사용량(SWAP+RES)

* RES : 현재 페이지가 상주하고 있는 크기(Resident Size)

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

* S : 프로세스의 상태

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

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

* TIME+ : 프로세스가 시작하여 사용한 총 CPU 시간

* COMMAND : 실행된 명령어


출처 - http://blog.naver.com/xerosda?Redirect=Log&logNo=30110389852

====================================================================================

TOP 명령어를 필요할때 사용하기는 했지만 TOP 유틸리티에 여러 기능이 있는지 몰랐습니다.

아래 내용을 보면서 여러 기능을 익히길 바랍니다.


* top

- 리눅스 시스템의 운용상황을 실시간으로 전반적인 상황을 모니터링할 때 사용됩니다. 윈도우로 비교하자면 작업 관리자 기능이라고 생각하시면 됩니다.

기본적으로 top은 5초에 한번씩 실시간으로 refresh 합니다. 따라서 시스템에서 사용되고 있는 여러 시스템 리소스를 한눈에 확인을 할 수 있습니다.




리눅스에서 top 명령어를 사용하면 위와 같은 결과를 확인하실 수 있습니다.

여기서 보여주는 항목에 대해서 먼저 확인하고 사용 방법에 대해서 이야기 하겠습니다.


** "h" 입력 - 옵션 확인



** top 실행화면 확인



위 내용은 uptime과 같이 현재 시간, uptime 시간, 접속 유저 수, load average (1분, 5분, 15분)의 값을 보여 준다.




위 내용은 프로세스의 종합적인 상황을 보여준다.

task : 전체 실행된 프로세스 수

running : 현재 실행되고 있는 프로세스 수

sleeping : 유휴상태에 있는 프로세스 수 

stopped : 종료된 프로세스 수 

zombie : 좀비 프로세스 수




CPU 사용 및 실행상태를 보여준다.


0.0%us : 사용자가 실행시킨 프로세스의 CPU 사용률

0.0%sy : 시스템자체에서 사용하는 CPU 사용률

0.0%ni : nice 정책에 의해 사용되고 있는 CPU 사용률.

100.0%id : 사용되지 않는 CPU 사용률

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

0.0%hi : IRQ에 사용된 CPU

0.0%si : soft IRQs에 사용된 CPU

0.0%st : steal 값 (다른 instances 실행에 주어진 time 값)




free에서 확인할 수 있는 시스템 메모리 사용량




위 화면은 top을 실행한 top 화면에서 26가지의 프로세스에 대한 정보들 입니다. 위는 기본적으로 선택된 12가지에 대한 내용입니다.


PID : 해당 프로세스의 유입한 프로세스 번호

USER : 프로세스를 실행시킨 유저 정보

PR : 프로세스의 우선 순위

NI : 프로세스의 NICE 값

VIRT : 해당 프로세스가 사용한 가상 메모리 정보

RES : 해당 프로세스의 물리적은 Memory 사용량

SHR : 해당 프로세스에 의해 사용된 공유 메모리의 총량

S : 해당 프로세스의 상태 값

[ D = 중단할 수 없는 sleep 상태]

[ R = 실행중인 프로세스 ]

[ S = 휴면 상태 ]

[ T = Trace 되거나 스톱된 프로세스 ]

[ Z = 좀비 프로세스 ]

%CPU : 해당 프로세스의 CPU 사용률

%MEM : 해당 프로세의 Memory 사용률

TMIE+ : TMIE 항목값과 같지만 100분의 1초 단위를 반영하는 CPU 사용 시간 값을 나타냄

PPID : 해당 프로세스의 부모 프로세스의 PID 값

RUSER :  해당 프로세스의 실제 소유자

UID : 해당 프로세스의 EUID(effective user id)

COMMAND : 프로세스명 실행 명령 (Command name / line)


** 기타 옵션 사용법


1) top -c

- 위 옵션은 프로세스의 전체 경로를 표기하여 시스템에서 사용되고 있는 프로세스 보다 정확한 정보를 얻기 위해 사용된다.


2) top -c -d 2

- 위 옵션은 2초 간격으로 Refresh 를 한다.



3) top 실행 후 "SHIFT+P"

- 각 프로세스들의 CPU 사용률이 높은 순서대로 정렬하여 보여 준다.


4) top 실행 후 "SHIFT+M"

- 각 프로세스들의 Memory 사용량이 가장 많은 순서대로 프로세스들을 확인해보는 방법이다.


5) top 실행 후 "SHIFT+T"

- 실행시간이 가장 오래된 순서대로 정렬하여 보여주는 방법이다.


6) top 실행 후 "u" 입력 후 "유저이름 입력"

특정 유저가 실행시킨 process 확인한다.


7) top 실행 후 "k" 입력 후 "PID 입력"

특정 프로세스를 종료할 때 사용한다.



top 유틸리티는 많은 내용을 가지고 있지만 많이 사용되는 부분에 대해서 정리를 했습니다.

추가 내용은 아래 링크를 확인 바랍니다.

http://linux.about.com/od/commands/l/blcmdl1_top.htm

출처 - http://blog.naver.com/jamesy?Redirect=Log&logNo=60141358686 

'System > Linux' 카테고리의 다른 글

/etc/profile 예시  (0) 2011.10.05
lsof , fuser, pgrep 명령어  (0) 2011.09.30
ngrep 다운로드 및 사용법 (옵션)  (1) 2011.09.23
clock, date, rdate, ntpdate  (0) 2011.08.22
linux - grep, egrep, fgrep  (0) 2011.08.05
Posted by linuxism
,