본문 바로가기
IT 놀이터/Linux

[linux] top 에 대한 많은 이야기.

by 돼지왕 왕돼지 2014. 3. 17.
반응형


 linux, Top 에 대한 많은 이야기.

 

[linux] top 에 대한 많은 이야기.


참고 사이트 : http://bluelimn.tistory.com/740


실행 명령어


$ top [옵션]




Top 의 출력 내용 분석


-

top - 11:17:50 up 33 days, 18:22,  7 users,  load average: 0.47, 0.72, 1.78

      현재시간 / uptime / 로그인 유저수 / 로드 에버리지




-

Tasks: 190 total,   2 running, 185 sleeping,   2 stopped,   1 zombie

      전체 프로세스 수 / 현재 실행중 프로세스 수 / 유휴 프로세스 수 / 정지상태 프로세스 / 좀비 프로세스



-

Cpu(s):  0.3%us,  0.6%sy,  0.0%ni, 97.9%id,  0.0%wa,  0.5%hi,  0.7%si,  0.0%st

CPU 사용량 : 사용자(us) / 시스템(sy) / NICE 정책(ni) / 미사용률(id) / 입출력 대시상태 사용률(wa)




-

Mem:   3922852k total,  3217548k used,   705304k free,   915084k buffers

     전체물리메모리 / 사용중 메모리 / 사용되지 않는 여유메모리 / 버퍼 메모리



-

Swap:  3553592k total,   162520k used,  3391072k free,  1377272k cached

      전체 스왑 메모리, 사용중 스왑 메모리, 남아있는 스왑 메모리, 캐싱 메모리



cf) cached memory, buffer memory 는 free memory 범주 안에 있는 녀석이다.

buffer 는 chunk 단위이고, cache 는 패킷 단위이다.






-

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


PID : process id

USER : user id

PR : priority

NI : nice value

VIRT : 가상메모리 사용량 ( swap + res )

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

SHR : 분할된 페이지

S : 프로세스 상태, S(sleeping), R(running), W(swapped out process), Z(zombies) 로 구분된다.

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

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

COMMAND : 실행된 명령어




VIRT, RES, SHR 에 대한 자세한 이야기

-

VIRT 는 Virtual Image 의 약자.

모든 코드, data, shared lib, swap out 된 page 들 전체를 이야기한다.



-

RES 는 Resident size 의 약자.

swap 되지 않은 사용중인 physical memory 를 이야기한다.

다시 말해, 모든 코드, data, shared lib ( 실제 사용 ) 을 이야기한다.

Shared lib 부분에 차이가 있기 때문에 pagination 이 없어도, VIRT 와 RES 의 상황은 대부분 RES 가 용량이 더 적다.



-

SHR 은 Shared 의 약자이며

VIRT 에서 sharable ( memory or lib ) memory size 를 이야기한다.



-

VIRT 와 RES 값 차이가 크다는 것은 SWAP 을 많이 사용한다는 의미로,

swap 을 많이 사용하는 것은 성능이슈를 야기하므로 좋은 것은 아니다.



여기에는 약간의 함정(?) 이 있는데

shared library 의 경우 모든 library 는 VIRT 와 SHR 에 올라가 count 되지만,

RES에는 이 중 사용중인 녀석들만 count 된다.







cf)

nice value : 마이너스를 가지는 녀석은 우선순위가 높다. 0 이 기본이다.




명령어 실행 후 사용 옵션들


1 : cpu 갯수별 사용량 보기 ( multi core )

shift + m : 메모리 사용량이 큰 순서로 정렬

shift + p : CPU 사용량이 큰 순서로 정렬

shift + t : 실행시간이 큰 순서로 정렬

k : 프로세스 kill, k 입력후 종료할 pid 입력, kill signal인 9 를 입력.

c : 명령인자 표시/비표시

spacebar : refresh

u : 입력한 유저의 프로세스만 표시 

q : top 종료






반응형

'IT 놀이터 > Linux' 카테고리의 다른 글

[Server구축/Tutorial] 리눅스 기본 폴더 구조  (0) 2017.04.30
CentOS vs. Ubuntu 간단 비교  (0) 2017.04.19
Server Side Include ( SSI ) 란?  (0) 2014.03.13
[linux] /etc/passwd 파일 분석  (0) 2014.03.04
[linux] Centos 는 뭘까?  (0) 2014.02.24

댓글