/proc/diskstats 디스크 읽기 시간이 초당 1초 이상 증가합니다.

/proc/diskstats 디스크 읽기 시간이 초당 1초 이상 증가합니다.

prometheus-node-exporter를 통해 디스크 사용률을 모니터링하고 읽습니다./proc/diskstats

내 기대는 블록 장치가 100% 사용 중이면 필드는7 - 읽는 데 소요된 시간(밀리초)매초(밀리초)마다 1000씩 증가합니다.

그러나 현재 디스크가 사용 중이면 증가는 다음과 같습니다.초당 1200~1800밀리초.

이 문제의 원인은 무엇입니까? 감사해요.

13 - I/O 수행에 소요된 시간(밀리초)예상한 대로 증가폭은 초당 1000밀리초 미만입니다.

the HDD is Seagate ST8000AS0022-1WL17Z Host-Aware SMR

Debian Bullseye, kernel version 5.4.0-4-amd64
32GB RAM i5 3570,

device structure:
sde -> loop1 -> dm-crypt -> Virtual machine Virtio -> ZFS
the loop device is used because otherwise dm-crypt doesn't work

scheduler mq-deadline

답변1

디스크 통계는 CPU별로 추적되며 /proc/diskstats모든 CPU에 대한 통계 합계를 표시합니다("I/O 수행에 소요된 시간"과 같은 틱 기반 통계 외에도). 읽고 쓰는 데 소요된 시간은 모든 CPU의 모든 읽기 및 쓰기 기간의 합계이므로 여러 CPU가 있는 시스템에서는 통계가 실시간보다 빠르게 증가할 수 있습니다.

관련 정보