메뉴 닫기

CPU 및 디스크 I/O 통계 확인

안녕하세요. 기술지원팀 정한진입니다.

주로 CPU 사용량을 확인시 top 명령어로 확인을 하는데요,

우연하게 iostat이라는 명령어를 알게되어 포스팅 하려합니다.

iostat은 sar(system activity reporter)와 마찬가지로 sysstat이라는 패키지에 의해 설치되며, 두명령어의 결과값 형태가 유사합니다.

 

다음은 iostat 명령어를 쳤을시 나오게 되는 값입니다.

[root@localhost ~]# iostat
Linux 2.6.32-504.el6.x86_64 (localhost)         2016년 07월 04일        _x86_64_        (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
                    0.92      0.02         0.31        0.19      0.25    98.31

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda                 1.30             22.99              46.19    6935850   13934648

 

avg-cpu는 마지막 리부팅 이후 시스템의 평균 CPU 사용량을 나타냅니다.

해당 값은 각각 다음과 같습니다.

%user : 유저가 사용중한 프로세스가 사용된 시간(백분율) -> 간단히 말하면 user call(ex: fopen 같은 api)가 사용된 시간

%nice : 작업 우선순위가 바뀐 프로세스가 사용된 시간

%system : 시스템이 작동한 시간

%iowait : 입출력(i/o) 대기시간(%idle과는 다르며 iowait이 높은경우 메모리 부족이나 비효율적인 i/o부시스템이 구성되어 있음을 의미)

%steal : steal CPU 작동 시간

%idle : 입출력(i/o)를 기다리지 않으면서 CPU가 놀거나, 기다리면서 소비한 시간(유휴상태)

 

Device는 현재 연결된 디스크에 관한 정보를 출력합니다.

tps : 초당 입출력(I/O)

Blk_read/s : 초당 읽은 블록 수

Blk_wrtn/s : 초당 쓴 블록 수

Blk_read : 지금까지 읽은 블록 수

Blk_wrtn : 지금까지 쓴 블록 수

 

사용법

# iostat [옵션] [갱신주기(초)] [리포트개수(숫자)]

ex)

# iostat -t 2 3

2016년 07월 15일 02시 45분 13초
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.13    0.00    0.12    0.07    0.25   99.42

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
vda               0.17         1.14         3.59     833274    2626552

2016년 07월 15일 02시 45분 15초
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.50    0.00    0.50    0.00    0.00   99.00

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
vda               0.00         0.00         0.00          0          0

2016년 07월 15일 02시 45분 17초
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
vda               0.00         0.00         0.00          0          0

> -t(시간을 나타냄), 2초마다, 3번의 리포트 출력.

 

[option]

-k : kilobytes단위로 보여줍니다.

-m : megabytes단위로 보여줍니다.

-c : CPU상태만 보여줍니다.

-d : 디바이스상태만 보여줍니다.

-x : 파티션 단위로 상태를 보여줍니다.

-V : 버전을 확인합니다.

-n : NFS의 사용량을 나타냅니다.

-h : -n와 동일하지만 가독성이 더 좋게 나타냅니다.

-t : 각 결과값앞에 시간을 나타냅니다.

 

사용해본 결과 실시간으로 주는 top과는 달리 체크하는 시간에 따른 상태량을 확인할 수 있었습니다.

사용법 및 옵션등에 관해서 조금 더 숙달이 된다면 유용히 쓰일 수 있을 것 같네요 ㅎㅎ

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다