출처 : http://www.ohmynux.com/?mid=linux&listStyle=gallery&page=2&document_srl=323
시스템 사용 정보 : vmstat
- 프로세스, 가상 메모리, 페이징,
디스크, CPU 등의 상태를 측정할 수 있음
- 멀티프로세서 시스템인 경우에는 모든 프로세서 사용량의 평균값을 나타냄
- # vmstat [option] [주기] [횟수]
procs -------memory--------
---swap--- ----io---- --system-- -----cpu-----
☞ 각 필드에 대한 값들의 의미
① 프로세스 필드
r :
CPU 접근 대기 중인 실행 가능 프로세스의 수를 의미
b : I/O 자원을 할당받지 못해 블록 된 프로세스의 수를
의미
② 메모리 필드
swpd : 사용된 가상 메모리의 용량을 의미
free :
현재 사용 가능한 여유 메모리의 용량을 의미
buff : 버퍼에 사용된 메모리의 용량을 의미
cach :
페이지 캐시에 사용된 메모리의 용량을 의미
③ 스왑 필드
si : 디스크에서 스왑 된 메모리 용량을 의미
so : 디스크로 스왑 되어 나간 메모리의 용량을 의미
④ 입출력 필드
bi : 블록 장치로 보내진 블록을 의미
bo : 블록 장치에서 받아온 블록을 의미
⑤ 시스템 필드
in : 일 초당 인터럽트의 수를 의미
cs : 일 초당 문맥 전환 작업 수를 의미
⑥ CPU 필드
us : CPU가 사용자 수준 코드를 실행한
시간을 의미 (단위 : 백분율)
sy : CPU가 시스템 수준 코드를 실행한 시간을 의미 (단위 : 백분율)
id : CPU가 아무런 작업을 수행하지 않은 시간을 의미 (단위 : 백분율)
wa : 입출력 대기를 의미
▷ 현재까지의 모든 시스템 이벤트 출력
# vmstat -s
▷ 3초 주기로 시스템의 성능을 측정
# vmstat 3
▷ 1초 주기로 5회만 실행
# vmstat 1 5
◎ 디스크 사용 정보 : iostat
- 시스템 커널 버전,
호스트명, 날짜를 출력해 주고 일반적인 CPU 및 디스크 I/O 통계에 대한 정보를 표시
- # iostat
[option]
☞ option
-c : user mode, system mode, I/O를 위한
waiting, idle 등에 사용된 사용 시간에 대한 백분율
-t : ch 당 터미널에서 사용된 read,
write의 character 수
-x : 추가된 모든 디스크들의 상태 표시, 더 자세한 정보가 출력 (☆)
☞ 내용
① CPU 사용율
%user : 용자가 사용하는
시간
%nice : ice를 사용하여 프로세스 우선순위가 바뀐 프로세스가 사용하는 시간
%sys :
시스템에서 사용하는 시간
%idle : 휴지 상태의 시간
② 장치 사용율
Device : DISK 장치 명
Blk_read/s : 초당 읽혀진 512 바이트 블록 수
Blk_wrtn/s : 초당 쓰여진 512 바이트 블록 수
lk_read : 총 읽혀진 512 바이트 블록 수
Blk_wrtn : 총 쓰여진 512 바이트 블록 수
▷ 3초마다 시스템의 정보를 표시
# iostat 3
▷ 2초를 주기로 10번 실행
# iostat 2 10
◎ 메모리 사용 정보 : free (☆)
- 메모리의 사용량과 스왑
사용량에 대하여 간단한 정보를 보여주는 명령어
☞ 확인할 수 있는 메모리의 정보
1) 메모리의 전체 용량
2) 유휴 메모리의 양
3) 사용 중인 메모리의 양
4) 스왑(swap)메모리의 양
5)
커널에서 사용되는 공유 메모리(shared memory)와 버퍼(buffer)의 양
6) 캐시된 메모리의 양
○ 메모리 동작 방식
- # free [option]
☞
option
-b : 출력되는 메모리의 양을 byte로 표시
-k : 기본값으로 출력되는 메모리의 양을
Kbyte로 표시
-m : 출력되는 메모리의 양을 Mbyte로 표시
-t : 기본 출력으로 메모리와
스왑을 함께 표시
-o : 버퍼와 캐시를 생략
-s : 지정한 초단위로 refresh 하여 메모리상태를
보여줌
▷ 총 사용량을 보여주고 5초 단위로 refresh
#
free -s 5 -t
▷ 단위를 Mbyte로 출력
# free -m
◎ CPU 프로세스 상황 정보 : top (Windows의 작업관리자 :
ctrl+alt+del)
- CPU 사용량, 프로세스 상태, 메모리 사용량과 같이 거의 모든 정보를 보여주는 명령어
- 지속적으로 실행되도록 기본 설정되어 있음
- # top
☞ top 명령어가 실행중일 때 사용하는 옵션
1 : 평균 시스템 부하를 보여줌, single CPU일 경우에는 동일함
space : 변환되는 값을 출력
h, ? : top에서 사용하는 명령어의 도움말 출력
i : 유휴 프로세스(idle process)를 출력하는 기능의
on/off
m : 정보 출력 on/off
t : 전체 상태 정보 출력 on/off
k : 특정
프로세스에 시그널을 보내 프로세스를 종료
r : 지정한 프로세스의 nice 값 재조정
P : CPU의
사용률을 기준으로 정렬
M : 메모리의 사용률을 기준으로 정렬
s : 갱신 시간 결정
q :
top 종료
N : PID를 기준으로 오름차순 정렬
T : 실행 시간이 오래된 프로세스 기준으로 정렬
n : 지정된 개수만큼의 프로세스 수만을 출력
s : 지정된 초단위로 화면 갱신
☞ 각 행별 내용
1) 1행 : 시스템의 가동 시간과 평균 부하의
숫자를 출력
top - 13:25:06 up 1 day, 14:39, 1 user, load average:
0.00, 0.00, 0.00
→ 현재시간(13:25:06)과 uptime 값(up 1 day)을 알 수 있으며,
현재 로그인 된 사용자의 수(1 user)와
시스템의 최근 1분, 5분, 15분에 대한 각각의 평균
부하율(load average: 0.00, 0.00, 0.00)을 나타냄
2) 2행 : 현재 실행중인 프로세스들의 상황
Tasks:
52 total, 1 running, 51 sleeping, 0 stopped, 0 zombie
→ 전체
실행된 현재 프로세스의 수는 (52 total), 실행중인 프로세스(1 running), 유휴상태의 프로세스(51
sleeping),
정지 된 프로세스(0 stopped), 좀비 프로세스(0 zombie)들의 상황을 알려줌
3) 3행 : CPU의 사용에 대한 상황 ( 이 정보를 통해 CPU의
사용현황을 파악하여 CPU의 추가적인 보강 계획이나
업그레이드 등의 계획을 세울 수 있음)
Cpu(s) : 0.0% us, 0.3% sy, 0.0% ni, 99,7% id, 0.0% wa, 0.0% hi,
0.0% si
→ 사용자가 사용중인 CPU의 사용율(0.0% us), 시스템이 사용하는 CPU의 사용율(0.3%
sy), nice 정책에 의해 사용되는
CPU의 사용율(0.0% ni), 사용되지 않은 CPU의
미사용율(99.7% id), 입출력 대기상태의 사용율(0.0% wa)등의 상황에 대해 알려줌
4) 4행 : 메모리의 사용에 대한 상황 ( 이 정보를 통해 메모리의 사용
현황에 대해 파악하고 메모리의 부족 현상 등을 분석하여,
추가적인 메모리의 확장에 대해 고려할수
있음)
Mem: 1035792k total, 272800k used, 762992k free,
32020k buffers
→ 전체 물리적인 메모리(1035792k total), 사용중인 메모리(272800k
used), 사용되지 않은 여유 메모리(762992k free),
버퍼된 메모리의 양(32020k
buffers) 등의 상황에 대해 알려줌
5) 마지막행 : 스왑메모리의 사용에 대한 상황 ( 스왑 메모리의 사용이
증가할 경우에는 물리적 메모리의 확장을 고려 )
Swap: 1052248k total, 0k
used, 1052248k free, 159980k cached
→ 전체 스왑 메모리(1052248k
total), 사용 중인 스왑 메모리(0k used), 남아있는 스왑메모리(1052248k free),
캐싱
메모리(159980k cached)등의 상황에 대해 알려줌
☞ 세부 정보 필드별 항목
PID : 프로세스 ID (PID)
USER : 프로세스를 실행시킨 사용자 ID
PRI : 프로세스의 우선순위 (Priority)
NI :
NICE 값
VIRT : 가상 메모리의 사용양(SWAP+RES)
SHR : 분할된 페이지
S :
프로세스의 상태
%CPU : 프로세스가 사용하는 CPU의 사용율
%MEM : 프로세스가 사용하는 메모리의
사용율
TIME : 프로세스가 실행된 총 시간
COMMAND : 실행된 명령어
RES : 현재
페이지가 상주하고 있는 크기 (Resident Size)
◎ 시스템 평균 부하율 정보 : uptime
- 시스템의 평균
부하율을 확인할 수 있는 명령어
- 1분, 5분, 15분간의 시스템 평균 부하율을 출력
- # uptime
13:58:10 up 1 day, 15:12, 1 user, load average: 0.00, 0,00, 0,00
→ 현재 시간(13:58:10), 1일 동안 시스템 재부팅 없이 운영중임(up 1 day), 로그인 한 시간(15:12),
현재 시스템에 접속한 사용자(1 user), 1분, 5분, 15분간의 시스템 평균 부하율(load average: 0.00,
0.00, 0.00)의
정보를 출력
◎ 시스템 리소스 정보 : sar (☆)
- 시스템의 여러 리소스들의
성능을 측정할 수 있는 명령어
- 운영중인 상태에서 자동으로 데이터를 수집할 수 있으며, 특정 파일을 사용하여 일정한
주기에 의해 데이터를 파일로
정리할 수 있는데, 리눅스에서는 /var/log/sa/ 디렉토리에
sar<dd>이라는 파일명으로 저장됨( <dd>는 하루 전의 날짜 )
- sa2 스크립트에 의해
실행되고 있으며, 주기적으로 실행될 수 있도록 /etc/cron.d/ 디렉토리에 sysstat에 등록되어 있음
-
기본적으로 하루에 한번 11시 53분에 실행하여 하루 동안의 수집된 자료에 대한 리포트를 작성하게 됨
- # sar
▷ 3초 간격으로 5회 반복 실행
# sar 3 5
▷
sar 데이터 파일 리스토어
# cd /var/log/sa
# ls
# sar -f sal1 |
more
▷ DISK의 I/O 점검
# sar -d 5 5
▷ 특정 시간 동안의 점검
# sar -s 03:10:00 -e 05:00:00
▷ process 점검
# sar -q 1 10
▷ 메모리 점검
# sar -r 1 10
* buffer
- 장치(H/W) or 프로세스간, 회선간의 속도 차이를
조절할 때 사용
* cache
- 한번 사용한 자원을 빠르게 재접근 할 수 있도록 해 줌
'IT인생_스크랩 > Linux' 카테고리의 다른 글
리눅스 관리자가 알아야 할 50가지 (0) | 2010.06.23 |
---|---|
Gentoo Linux 설치하기 (0) | 2010.06.23 |
VSFTP에서 홈디렉토리보다 상위 디렉토리의 접근 막기 (0) | 2010.06.23 |
리눅스 하드디스크 추가하기 (0) | 2010.06.23 |
리눅스 FTP Passive mode 설정 (0) | 2010.06.23 |