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