시스템 상태 점검하는 방법 2편
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 11,006 조회
- 0 추천
- 목록
본문
제목 : 시스템 상태 점검하는 방법 2편
ㅇ 제작 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 서버관리팀
ㅇ SULINUX 홈페이지 : www.sulinux.net
ㅇ 리눅스포털 홈페이지 : www.superuser.co.kr
시스템 상태 점검하는 방법
4. iostat
시스템 상태를 보여주는 명령인 iostat와 sar는 sysstat라는 패키지에 의해 설치된다. 두 명령의 결과값 형태가 유사하게 표현된다.
그럼 iostat명령어를 먼저 살펴보도록 하겠다.
iostat는 CPU의 상태와 I/O 장치의 상태를 출력하는 명령어이다.
iostat [옵션]
옵 션 |
설 명 |
간격 개수 |
앞의 간격(초단위)로 개수만큼 화면에 보여준다. |
-k |
kilobytes단위로 보여준다. |
-c |
CPU상태만 보여준다. |
-d |
디바이스상태만 보여준다. |
-x |
파티션 단위로 상태를 보여준다. |
대표 항목 |
세부 항목 |
avg-cpu CPU의 상태 (단위 : %) |
%user : 사용자레벨에서 사용한 양 표시 %nice : 사용자레벨에서 nice 순위와 관련하여 사용한 양 표시 %sys : 시스템레벨(커널)에서 사용한 양 표시 %idle : CPU가 대기한 상태를 표시 |
Device 입출력장치의 상태 |
tps : 디바이스에서 초당 전송하는 개수 표시 Blk_read/s : 초당 읽어들이는 블록의 개수 표시 Blk_wrtn/s : 초당 쓰여지는 블록의 개수 표시 Blk_read : 블록이 읽혀진 총 개수 표시 Blk_wrtn : 블록이 쓰여진 총 개수 표시 |
iostat 명령을 통해 볼수 있는 것은 위 표에서 설명한 두 개의 큰 항목과 각 세부 항목으로 나누어 출력하여 보여준다.
실제 사용의 예
설명 : 1초 간격으로 3번 화면에 보여준다.
설명 : kilobytes 단위로 보여준다.
5. sar
sar은 시스템의 활동에 관한 정보를 수집하여 보여주고 저장하는 명령이다. 이 명령은 OS의 활동 상태를 누적된 데이터를 이용하여 표준출력하게 된다.
이 명령은 cron데몬과 /etc/cron.d/sysstat라는 스크립트에 의해 시스템상에 /var/log/sa라는 디렉토리 아래에 'sa[해당날짜]'라는 이름으로 저장된다.
sa21이라는 21일자의 sa파일을 23시에서 24시까지 CPU정보를 알고자 한다면 [root@localhost ~]# sar -u -f /var/log/sa/sa11 -s 23:00:00 -e 23:59:59 와 같이 사용하면 된다.
sar [옵션] 간격 횟수
옵 션 |
설 명 |
-o 파일명 |
출력값을 주어진 파일명으로 binary로 저장 |
-f 파일명 |
binary로 저장된 값을 불러옴 |
-A |
모든 정보를 출력 |
-b |
I/O관련 전송율 상태 정보를 출력 |
-B |
페이징 통계 정보를 출력 |
-c |
새롭게 생성되어 활동하는 프로세스의 정보를 출력 |
-e hh:mm:dd |
-f 또는 -o 옵션과 같이 사용되는 옵션으로 리포트의 종료시간 지정 |
-n DEV | EDEV | SOCK | FULL |
네트워크 상태정보 출력 (별도 옵션이 뒤에 덧붙음 : DEV | EDEV | SOCK | FULL 이 옵션의 설명은 아래쪽 실제 사용의 예를 참고하면 된다) |
-r |
메모리와 스왑 공간의 상태 출력 |
-s hh:mm:dd |
-f과 같이 사용되는 옵션으로 불러온 파일의 시간 지정 |
-u |
cpu의 정보 출력 |
-v |
커널 테이블과 파일에서의 inode상태 출력 |
-w |
시스템의 switching 활동 상태 출력 |
-W |
시스템의 swapping 상태 출력 |
실제 사용의 예
[root@localhost ~]# sar
설명 : CPU의 최근 상태 출력
[root@localhost ~]# sar 0
설명 : 시스템이 시작 된 후 평균 상태 출력
[root@localhost ~]# sar 1 3
설명 : 1초간격으로 3회 출력
[root@localhost ~]# sar 1 10 -o system.log
설명 : 1초간격으로 10회동안의 출력을 바이너리 타입의 system.log 파일로 저장
[root@localhost ~]# sar -f system.log
설명 : sar명령을 이용해 생성한 바이너리 타입의 system.log에 저장된 값을 화면 출력
설명 : “sar -b” 명령어는 I/O 전송율 관련 정보를 출력한다.
항 목 |
설 명 |
tps |
물리적디스크에서 초당 전송하는 개수 |
rtps |
물리적 디스크에서 요청한 초당 읽기 횟수 |
wtps |
물리적 디스크에서 요청한 초당 쓰기 횟수 |
bread/s |
블록에서 초당 읽은 데이타의 총 횟수 |
bwrtn/s |
블록에서 초당 쓰여진 데이타의 총 횟수 |
[root@localhost ~]# sar -c
설명 : proc/s 라는 단위로 초당 활동하는 프로세스의 수를 보여준다.
[root@localhost ~]# sar -e 12:00:00 -f
설명 : 오늘 기록된 파일(예 /var/log/sa/sa01)에서 12시까지의 기록만을출력
[root@localhost ~]# sar -n FULL
설명 : 네트워크의 모든 상태정보를 출력
옵 션 |
설 명 |
DEV (네트워크 장치로부터의 결과) |
IFACE : 네트워크 인터페이스의 이름 |
rxpck/s : 초당 받은 패킷수 | |
txpck/s : 초당 전송한 패킷수 | |
rxbyt/s : 초당 받은 바이트수 | |
txbyt/s : 초당 전송한 바이트수 | |
rxcmp/s : 초당 압축한 패킷을 받은 수 | |
txcmp/s : 초당 압축한 패킷을 전송한 수 | |
rxmcst/s : 초당 받은 멀티캐스트 패킷 수 | |
EDEV (네트워크 장치로부터 에러나 실패한 상태정보) |
IFACE : 네트워크 인터페이스의 이름 |
rxerr/s : 초당 받은 불량 패킷의 수 | |
txerr/s : 전송중에 초당 발생한 에러 패킷의 수 | |
coll/s : 전송중에 초당 발생한 충돌 패킷의 수 | |
rxdrop/s : 리눅스 버퍼 공간의 부족으로 패킷을 받는 도중에 초당 drop된 패킷 수 | |
txdrop/s : 리눅스 버퍼 공간의 부족으로 패킷을 전송중에 초당 drop된 패킷의 수 | |
txcarr/s : 전송중에 초당 발생한 carrier-error수 | |
rxfram/s : 패킷을 받는중에 발생한 초당 frame alignment 수 | |
rxfifo/s : 패킷을 받는 중에 발생한 초당 FIFO overrun 수 | |
txfifo/s : 패킷을 전송중에 발생한 초당 FIFO overrun 수 | |
SOCK (소켓 상태에 대한 정보) |
totsck : 사용된 총 소켓수 |
tcpsck : 현재 사용중인 TCP 소켓수 | |
udpsck : 현재 사용중인 UDP 소켓수 | |
rawsck : 현재 사용중인 RAW 소켓수 | |
ip-frag :현재 사용중인 IP fragments 수 | |
FULL |
모든 내용(DEV, EDEV, SOCK)의 결과를 보여준다. |
[root@localhost ~]# sar -r
설명 : 메모리와 스왑의 상태정보를 보여준다.
항 목 |
설 명 |
kbmemfree |
사용가능한 메모리의 양(단위 : kb) |
kbmemused |
사용중인 메모리의 양, 커널에서 사용중인 메모리는 제외(단위 : kb) |
%memused |
사용된 메모리의 퍼센트 |
kbbuffers |
커널에서 버퍼로 사용한 메모리양(단위 : kb) |
kbcached |
커널에서 캐쉬로 사용한 메모리양(단위 : kb) |
kbswpfree |
스왑으로 사용가능한 공간(단위 : kb) |
kbswpused |
스왑으로 사용중인 공간 (단위 : kb) |
%swpused |
사용된 스왑의 퍼센트 |
[root@localhost ~]# sar -v
설명 : inode의 상태를 보여준다.
항 목 |
설명 |
dentunusd |
디렉토리 캐쉬에서 사용되지 않는 캐쉬 entries |
file-sz |
file handles의 사용량 |
inode-sz |
inode handlers의 사용량 |
super-sz |
관련자료
-
이전
-
다음