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 유틸리티는 많은 내용을 가지고 있지만 많이 사용되는 부분에 대해서 정리를 했습니다.
추가 내용은 아래 링크를 확인 바랍니다.
'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 |