| HOME / 정보공유 / AIX 명령어 모음

iostat
iostat iostat 명령 목적 중앙 연산 처리장치(CPU) 통계 및 전체 시스템, 어댑터, tty 장치, 디스크 및 CD-ROM에 대한 입/출력 통계를 보고합니다. 구문
iostat [ -s ] [ -a ] [ -d | -t ] [ PhysicalVolume ... ] [ Interval [ Count ] ]
설명
iostat 명령은 물리적 디스크가 평균 전송률과 관련한 활성 시간을 관측하여 시스템 입/출력 장치 로딩을 모니터링하는 데 사용됩니다. iostat 명령은 물리적 디스크와 어댑터 사이의 입/출력 로드를 보다 잘 균형잡기 위해 시스템 구성설정 변경에 사용될 수 있는 보고서를 작성합니다.
iostat 명령에 의해 작성되는 첫번째 보고서는 시스템이 부트된 이후의 시간 동안에 대한 통계를 제공합니다. 각각의 후속 보고서에서는 이전 보고서 이후의 시간 동안에 대한 통계를 다룹니다. iostat 명령이 수행될 때마다 모든 통계가 보고됩니다. 보고서는 tty 및 CPU 통계 행들로 tty(터미널 장치) 및 CPU 헤더 행으로 구성됩니다. 멀티프로세서 시스템에서 CPU 통계는 모든 프로세서 사이의 평균으로 시스템 전반에 걸쳐 계산됩니다.
-s 플래그가 지정되면, 시스템 헤더 행이 표시되고 그 뒤에 전체 시스템에 대한 통계 행이 있습니다. 시스템의 호스트 이름이 시스템 헤더 행에 인쇄됩니다.
-a 플래그가 지정되면, 어댑터 헤더 행이 표시되고 그 뒤에 어댑터에 대한 통계 행이 표시됩니다. 그 뒤에는 디스크 헤더 행 및 어댑터에 연결된 모든 디스크/CD-ROM의 통계가 표시됩니다. 이같은 보고서가 시스템에 연결된 모든 디스크 어댑터에 대해 작성됩니다.
구성설정되는 각 디스크에 대한 통계 행에 뒤따라오는 디스크 헤더 행이 표시됩니다. PhysicalVolume 매개변수를 지정하면, 지정된 이름만 표시됩니다.
PhysicalVolume 매개변수가 지정되는 경우, 하나 이상의 영문자 또는 영숫자 물리적 볼륨(PV)이 지정될 수 있습니다. PhysicalVolume 매개변수가 지정되는 경우, tty(터미널 장치) 및 CPU 보고서가 표시되고 디스크 보고서는 지정된 드라이브에 대한 통계를 포함합니다. 지정된 논리적 드라이브 이름이 발견되지 않는 경우, 보고서는 지정된 이름을 나열하고 메세지 Drive Not Found를 표시합니다. 논리적 드라이브 이름이 지정되지 않는 경우, 보고서는 모든 구성설정된 디스크 및 CD-ROM에 대한 통계를 포함합니다. 시스템에 구성설정된 드라이브가 없는 경우에는 디스크 보고서가 작성되지 않습니다. PhysicalVolume 매개변수의 첫번째 문자로 숫자를 사용할 수는 없습니다.
Interval 매개변수는 각 보고서 사이의 시간을 초 단위로 지정합니다. 최초 보고서는 시스템 시작(부트) 이후의 시간 동안에 대한 통계를 포함합니다. 각 후속 보고서는 이전 보고서 이후 간격 동안 수집된 통계를 포함합니다. Count 매개변수가 Interval 매개변수와 결합되어 지정될 수 있습니다. Count 매개변수가 지정되는 경우, 계수 값이 Interval초 간격으로 작성되는 보고서 수를 판별합니다. Interval 매개변수가 Count 매개변수 없이 지정되는 경우, iostat 명령은 계속적으로 보고서를 작성합니다.
iostat 명령은 물리적 볼륨이 성능 병목 현상을 일으키고 있는지, 그리고 상황이 개선될 가능성이 있는지를 판별하는 데 유용합니다. 물리적 볼륨에 대한 이용률 필드는 파일 활성이 드라이브 사이에서 얼마나 고르게 분산되는지를 보여줍니다. 물리적 볼륨에서 이용률이 높으면, 이 자원에 대해 경합이 있을 수 있습니다. CPU %(이용률) 통계도 iostat 보고서에서 사용 가능하므로, CPU가 I/O 대기 상태의 시간 비율을 동시에 판별할 수 있습니다. I/O 대기 시간이 많고 디스크 이용률이 볼륨들 사이에서 고르게 분산되지 않은 경우에는 여러 드라이브에 걸쳐 데이터를 분산시키는 것을 고려하십시오.
주: 일부 시스템 자원은 iostat 명령에 대한 디스크 입/출력 내역을 유지하는 데 소요됩니다. 내역 사용통계를 정지하려면, sysconfig 서브루틴 또는 SMIT(시스템 관리 도구 프로그램)를 사용하십시오.
보고서
iostat 명령은 네 유형의 보고서, 즉 tty와 CPU 이용률 보고서, 디스크 이용률 보고서, 시스템 처리량 보고서 및 어댑터 처리량 보고서를 작성합니다.
tty 및 CPU 이용률 보고서
iostat 명령에 의해 작성되는 첫번째 보고서는 tty 및 CPU 이용률 보고서입니다. 멀티프로세서 시스템의 경우, CPU 값은 모든 프로세서의 전체 평균입니다. 또한, I/O 대기 상태는 프로세서당 정의되는 것이 아니라 시스템 전반에 걸쳐 정의됩니다. 보고서 형식은 다음과 같습니다.
열 설명
tin 모든 tty에 대해 시스템이 읽은 총 문자 수를 표시합니다.
tout 모든 tty에 대해 시스템이 기록한 총 문자 수를 표시합니다.
% user 사용자 레벨(응용프로그램)에서 실행하는 동안 발생한 CPU 이용률의 퍼센트를 표시합니다.
% sys 시스템 레벨(커널)에서 실행하는 동안 발생한 CPU 이용률의 퍼센트를 표시합니다.
% idle CPU가 유휴 상태였으며 시스템에 미결 디스크 입/출력 요청이 없었던 시간을 퍼센트로 표시합니다.
% iowait 시스템이 미결 디스크 입/출력 요청이 있었던 동안 CPU가 유휴 상태였던 시간을 퍼센트로 표시합니다.
이 정보는 커널에 의해 정기적 간격(일반적으로 초당 60번)으로 갱신됩니다. tty(터미널 장치) 보고서는 시스템상의 모든 터미널로부터 수신된 초당 집합적 문자 수뿐 아니라, 시스템상의 모든 터미널로의 초당 집합적 문자 출력 수를 제공합니다.
CPU 디스크 입/출력 대기 시간 계산에 사용되는 방법
운영 시스템 버전 4.3.3 이후에는 디스크 입/출력을 대기하면서 소비되는 CPU 시간(wio 시간)의 백분률 계산에 사용되는 방법이 향상되었습니다. AIX 4.3.2 및 이전 버전의 운영 시스템에서 사용되는 방법은 일정 환경하에서 SMP에 대해 과장된 wio 시간이 조회되는 경우가 있습니다. wio 시간은 명령 sar (%wio), vmstat(wa) 및 iostat(% iowait)에 의해 보고됩니다.
AIX 4.3.2 및 이전 버전에서 사용되는 방법은 다음과 같습니다. 각 프로세서의 각 클럭 인터럽트(프로세서 당 초당 100회)에서, 네 범주(usr/sys/wio/idle)에 대해 최종 10ms의 시간을 배치하도록 판단합니다. 클럭 인터럽트 시간에 CPU가 usr 모드에서 사용 중이었다면, usr은 그 범주에 클럭 표시(tick)가 더해집니다. 클럭 인터럽트 시간에 CPU가 커널 모드에서 사용 중이었다면, sys 범주에 표시(tick)됩니다. CPU가 사용 중이 아니었다면, 디스크에 I/O가 진행 중인지 확인하기 위해 검사가 이루어집니다. 디스크 입/출력이 진행 중이라면, wio 범주가 증가됩니다. 디스크 입/출력이 진행 중이 아니고CPU가 사용 중이지 않으면, 유휴 범주에 표시(tick)됩니다. 과장된 wio 시간은 I/O를 대기하는 스레드의 수에 상관없이 모든 유휴 CPU가 wio로 범주된 결과입니다. 예를 들어, I/O를 수행하는 스레드가 단 하나 있는 시스템은 소유한 CPU의 수와 상관없이 90퍼센트가 넘는 wio 시간을 보고할 수 있습니다.
AIX 4.3.3 이후에 사용되는 방법은 다음과 같습니다. 운영 시스템 버전 4.3.3에서 변경된 사항은 해당 CPU에서 미결 I/O가 시작되었을 경우에만 유휴 CPU를 wio로 표시하는 것입니다. 이 방법은 단지 소수의 스레드가 I/O를 수행 중이고, 시스템이 다른 경우 유휴상태일 때 더 낮은 wio 시간을 보고할 수 있습니다. 예를 들어, 네 개의 CPU와 I/O를 수행 중인 하나의 스레드가 있는 시스템은 최대 25퍼센트의 wio 시간을 보고합니다. 12개의 CPU와 I/O를 수행 중인 하나의 스레드가 있는 시스템은 최대 8퍼센트의 wio 시간을 보고합니다. NFS 클라이언트 읽기/쓰기는 VMM을 통하고, I/O가 완료되기를 기다리는 VMM에서 해당 biod가 소비하는 시간이 이제 I/O 대기 시간으로 보고됩니다.
디스크 이용률 보고서
iostat 명령에 의해 작성되는 두 번째 보고서는 디스크 이용률 보고서입니다. 디스크 보고서는 물리적 디스크당 기준의 통계를 제공합니다. 보고서의 형식은 다음과 유사합니다.
% tm_act 물리적 디스크가 활성 중인 시간의 퍼센트(드라이브에 대한 대역폭 이용률)을 나타냅니다.
Kbps 드라이브에 전송된(읽거나 기록된) 데이터의 양을 초당 KB 단위로 나타냅니다.
tps 물리적 디스크에 발행된 초당 전송 수를 나타냅니다. 전송은 물리적 디스크에 대한 입/출력 요청입니다. 여러 개의 논리적 요청을 디스크에 대한 단일 입/출력 요청으로 결합할 수 있습니다. 전송 크기는 불명확합니다.
Kb_read 읽어들인 KB의 총 수
Kb_wrtn 기록된 KB의 총 수
CD-ROM 장치에 대한 통계도 보고됩니다.
많은 디스크가 구성설정된 대규모 시스템 구성설정의 경우, iostat 명령이 실행되지 않을 때 물리적 디스크 입/출력 통계를 수집하지 않도록 시스템을 구성할 수 있습니다. 시스템이 위의 방식으로 구성설정되면, 첫번째 디스크 보고서가 디스크 통계 대신 Disk History Since Boot Not Available이라는 메세지를 표시합니다. iostat 명령에 의해 작성되는 후속 간격 보고서에는 보고서 간격 동안 수집된 디스크 통계가 있습니다. 부트 이후의 tty(터미널 장치) 및 CPU 통계에는 영향을 미치지 않습니다. 시스템 관리 명령을 사용하여 디스크 통계를 다시 가능하도록 한 경우, 첫번째 iostat 명령 보고서는 디스크 입출력 통계가 사용가능하게 된 지점에서 시작하여 해당 간격으로부터의 활동을 표시합니다.
시스템 처리량 보고서
이 보고서는 -s 플래그가 지정될 경우 작성됩니다. 이 보고서는 전체 시스템에 대한 통계를 제공합니다. 이 보고서의 형식은 다음과 같습니다.
Kbps 전체 시스템에서 전송된(읽거나 기록된) 데이터의 양을 초당 KB 단위로 나타냅니다.
tps 전체 시스템에 발행된 초당 전송 수
Kb_read 전체 시스템으로부터 읽혀진 KB의 총수
Kb_wrtn 전체 시스템에 기록된 KB의 총수
어댑터 처리량 보고서
이 보고서는 -a 플래그가 지정될 경우 작성됩니다. 이 보고서는 어댑터별 기준으로 통계를 제공합니다. 이 보고서의 형식은 다음과 같습니다.
Kbps 어댑터에서 전송된(읽거나 기록된) 데이터의 양을 초당 KB 단위로 나타냅니다.
tps 어댑터에 발행된 초당 전송 수
Kb_read 어댑터로부터 읽혀진 KB의 총수
Kb_wrtn 어댑터에 기록된 KB의 총수
디스크 입/출력 내역
성능을 향상시키기 위해 디스크 입/출력 통계의 수집은 사용 불가능합니다. 이 데이터를 수집하려면, 다음을 입력하십시오.
chdev -l sys0 -a iostat=true
현재 설정값을 표시하려면, 다음을 입력하십시오.
lsattr -E -l sys0 -a iostat
디스크 입/출력 내역의 수집이 사용 불가능할 경우, iostat 출력의 첫번째 디스크 보고서가 디스크 통계 대신 메세지 DiskHistory Since Boot Not Available을 표시합니다. 이전과 같이 iostat 명령에 의해 작성되는 후속 간격 보고서에는 보고서 간격 중에 수집된 디스크 통계가 들어 있습니다.
플래그
-a 어댑터 처리량 보고서를 표시합니다.
-d -d 플래그는 -t 플래그와 배타적이며 디스크 이용률 보고서만 표시합니다.
-s 시스템 처리량 보고서를 표시합니다.
-t -t 플래그는 -d 플래그와 배타적이며 CPU 이용률 보고서만 표시합니다.
주:
-s 및 -a 플래그를 둘다 지정하여 시스템 및 어댑터 처리량 보고서를 둘다 표시할 수 있습니다.
-a 플래그를 -t 플래그와 함께 지정하면, tty 및 CPU 보고서가 표시되고, 그 뒤에 어댑터 처리량 보고서가 표시됩니다. 어댑터에 연결된 디스크의 디스크 이용률 보고서는 어댑터 처리량 보고서 뒤에 표시되지 않습니다.
-a 플래그를 -d 플래그와 함께 지정하면, tty 및 CPU 보고서가 표시되지 않습니다. 물리적 볼륨 매개변수가 지정되면, 지정된 물리적 볼륨의 디스크 이용률 보고서가 그것이 속하는 해당 어댑터 아래에 인쇄됩니다.
예제
모든 tty(터미널 장치), CPU 및 디스크에 대한 부트 이후 단일 내역 보고서를 표시하려면, 다음을 입력하십시오.
iostat
논리적 이름 disk1을 갖는 디스크에 대한 2초 간격의 연속적 디스크 보고서를 표시하려면, 다음을 입력하십시오.
iostat -d disk1 2
논리적 이름 disk1을 갖는 디스크에 대한 2초 간격의 6개 보고서를 표시하려면, 다음을 입력하십시오.
iostat disk1 2 6
모든 디스크에 대한 2초 간격의 6개 보고서를 표시하려면, 다음을 입력하십시오.
iostat -d 2 6
이름이 disk1, disk2, disk3인 세 디스크에 대해 2초 간격으로 여섯 개의 보고서를 표시하려면, 다음을 입력하십시오.
iostat disk1 disk2 disk3 2 6
시스템 처리량 보고서를 인쇄하려면, 다음을 입력하십시오.
iostat -s
어댑터 처리량 보고서를 인쇄하려면, 다음을 입력하십시오.
iostat -a
tty 및 CPU 보고서로만(디스크 보고서 없이) 시스템 및 어댑터 처리량 보고서를 인쇄하려면, 다음을 입력하십시오.
iostat -sat
hdisk0 및 hdisk7의 디스크 이용률 보고서와 함께 시스템 및 어댑터 처리량 보고서를 인쇄하려면, 다음을 입력하십시오.
iostat -sad hdisk0 hdisk7
파일
/usr/bin/iostat iostat 명령이 들어 있습니다.
관련 정보
vmstat 명령
/dev/kmem 특수 파일
knlist 서브루틴, sysconfig 서브루틴