1초를 초과하는 빈도로 디스크 및 네트워크 IO를 측정하는 방법은 무엇입니까?

1초를 초과하는 빈도로 디스크 및 네트워크 IO를 측정하는 방법은 무엇입니까?

CPU, 디스크, 네트워크 리소스를 사용하는 몇 가지 실험을 실행하고 있습니다. (참고로 저는 Cent OS 7을 사용하고 있습니다.) CPU, 디스크, 네트워크 리소스 사용량을 측정하고 싶습니다.

내가 아는 일부 도구(dstat, iostat)는 두 측정 사이의 최소 간격으로 1초만 제공합니다.

1초에 여러 측정을 수행하는 방법은 무엇입니까? 나는 많이 봤지만 찾을 수 없습니다.

감사해요

답변1

누군가가 원하는 작업을 수행할 수 있는 도구를 알려줄 수 있기를 바랍니다. 그렇지 않은 경우 소스에서 직접 데이터를 가져올 수 있다고 약속합니다.iostat주로 특수 파일을 구문 분석합니다./proc/diskstats이러한 파일은 읽을 때마다 업데이트됩니다. 방금 내가 읽은 곳에서 간단한 테스트를 수행했습니다.디스크 통계초당 여러 번 읽을 때마다 값이 변경됩니다.

이것iostat관련 파일은 매뉴얼 페이지 끝에 나열되어 있습니다.

/proc/stat에는 시스템 통계가 포함되어 있습니다.

/proc/uptime에는 시스템 가동 시간이 포함되어 있습니다.

/proc/partitions에는 디스크 통계가 포함되어 있습니다(패치된 2.5 이전 커널용).

/proc/diskstats에는 디스크 통계가 포함됩니다(2.5 이후 커널용).

/sys 블록 장치 통계(2.5 이후 커널)가 포함되어 있습니다.

/proc/self/mountstats 네트워크 파일 시스템 통계를 포함합니다.

/dev/disk에는 영구 장치 이름이 포함되어 있습니다.

이러한 파일의 필드가 나타내는 내용에 대한 정보를 찾는 것은 어렵지 않습니다. 예를 들어:

     The /proc/diskstats file displays the I/O statistics
    of block devices. Each line contains the following 14
    fields:
     1 - major number
     2 - minor mumber
     3 - device name
     4 - reads completed successfully
     5 - reads merged
     6 - sectors read
     7 - time spent reading (ms)
     8 - writes completed
     9 - writes merged
    10 - sectors written
    11 - time spent writing (ms)
    12 - I/Os currently in progress
    13 - time spent doing I/Os (ms)
    14 - weighted time spent doing I/Os (ms)
    For more details refer to Documentation/iostats.txt

관련 정보