iostat 옵션 명령어 설명 정리
리눅스 | 2020년 05월 15일 14시 26분
iostat 를 이용한 디스크 i/o 모니터링
시스템 환경
Cpu : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
Ram : 1G
Hdd : 10G
아키텍쳐: 64bit
KVM 가상화 환경.
[lwptoc]
여기서 read request, write request 를 합하여 초당 나눈것이 tps 입니다. 초당 io 요청을 얼마나 많이 했나를 알수 있다.
초당 얼마나 많은 i/o 요청을 하는가 : tps, r/s, w/s - 전체, read, write io request
1. iostat란 무엇인가?
iostat 는 디스크 입출력에 대한 통계를 보고하고 처리량, 사용률, 대기열 길이, 트랜잭션 비율 및 서비스 시간에 대한 측정 결과를 알수 있는 프로그램이다. 평소 디스크에 베드섹터라든지 이상이 없는데, 서버의 부하가 평소보다 높을 경우에 디스크 사용량 을 알수 있다.2. iostat 설치와 명령어
1) 설치 방법
기본적인 설치 방법은 간단하다.yum install sysstat*
2) 명령어 옵션 설명
iostat
디스크의 기본정보를 보여준다.
- %user : CPU자원이 사용자 모드에서 사용된 백분율을 의미 프로세스는 사용자 혹은 시스템 모드로 실행된다. 사용자 모드에서는 자신의 코드내에서만 운영되며 커널 자원을 필요하지 않는다.
- %system : 시스템 모드에서 사용된 CPU 자원의 백분율이다. 이는 커널 프로세스들(kprocs)과 커널 자원들을 사용하기 위한 다른 프로세스들이 사용한 CPU 자원을 포함한다.
- %user와 %system 합계가 80%(복수사용자 가정) 이상이면 CPU는 거의 작업을 하지 못한다고 할 수 있다.
- %idle : 자신의 디스크 입출력을 기다리지 않으면서,CPU가 놀고 있거나 혹은 기다리면서 소비한 CPU 시간의 백분율을 나타낸다.만일 실행 큐에 아무런 프로세스도 없다면,시스템은 "wait" 라 불리우는 특별한 커널 프로세스를 실행시킨다.
- %iowait : 지연된 자신의 디스크 입출력을 갖고 CPU가 놀고 있는 시간의 백분율 idle상태와는 디스크 입출력 대기라는 측면에서 다르다. 입출력이 완료되면 프로세스 실행 큐에 놓인다.
- tps : 초당 I/O 요청수
- Blk_read/s: 초당 읽은 블록
- Blk_wrtn/s : 초당 사용한 블록Blk_read : 읽은 블록
- Blk_wrtn : 사용한 블록
iostat 5
5초마다 수집된 정보를 보여준다.
iostat -td 1 -x /dev/sda
이렇게 각 디바이스별로 쪼개서 시간별로도 체크를 할수 있다.
여기서 read request, write request 를 합하여 초당 나눈것이 tps 입니다. 초당 io 요청을 얼마나 많이 했나를 알수 있다.
초당 얼마나 많은 i/o 요청을 하는가 : tps, r/s, w/s - 전체, read, write io request
- 초당 전송량 : r/w 전송양. -x 옵션이 없을때는 블락기준이며(Blk_read/s Blk_wrtn/s) 이를 byte 로 바꾸러면 512 byte 를 곱하면 된다. -x 옵션이 있으면 바이트로 나온다. (rkB/s, wkB/s )
- r/w 비율 : i/o request, 전송량에서 read 와 write 비율을 보면 주로 읽기중심인지 쓰기중심인지 알 수 있을 것이다.
