다음과 같은 일부 매개변수로 그룹화된 디스크 통계를 얻을 수 있는 방법이 있습니까?
크기/지연 시간별로 작성하시겠습니까? 크기/지연 시간으로 읽으시겠습니까?
그것은 다음과 같습니다:
total writes - 100
writes by size:
- < 4096 - 20
- 4096 - 16384 - 30
...
여기서 4096/16384는 블록 크기입니다.
답변1
eBPF를 사용하여 대기 시간별로 그룹화합니다.https://github.com/iovisor/bcc/blob/v0.9.0/tools/biolatency_example.txt
크기별로 분류하는 방법은 잘 모르겠습니다. eBPF 또는 blktrace를 사용하면 확실히 가능합니다. (오버헤드가 약간 더 높다고 생각합니다 blktrace
.)
혼란스럽게도 block/blk-stat.c
일종의 대기 시간 히스토그램이 구현되었습니다. ("버킷"에 대한 참조를 참조하십시오. 그러나 커널 내부의 몇몇 위치에서만 사용되며 커널 외부에서는 사용할 수 없습니다.