Как указано в документации, четвертое поле в /proc/diskstats
является:
Field 4 -- # of milliseconds spent reading
This is the total number of milliseconds spent by all reads (as
measured from __make_request() to end_that_request_last()).
Я читал каждую секунду пару секунд на сервере с двумя процессорами и заметил, что sdb
тратит до 8-9 секунд каждую 1 секунду на чтение:
# while true; do echo -n $(date); echo -n ' | '; grep -P 'sdb[\D]' /proc/diskstats | tr -s ' ' | cut -d ' ' -f 8; sleep 1; done
Tue Oct 22 11:13:30 MSK 2019 | 1452477598
Tue Oct 22 11:13:31 MSK 2019 | 1452484545
Tue Oct 22 11:13:32 MSK 2019 | 1452492557
Tue Oct 22 11:13:33 MSK 2019 | 1452499787
Tue Oct 22 11:13:34 MSK 2019 | 1452507514
Tue Oct 22 11:13:35 MSK 2019 | 1452515549
Tue Oct 22 11:13:36 MSK 2019 | 1452523572
Tue Oct 22 11:13:37 MSK 2019 | 1452531846
Tue Oct 22 11:13:38 MSK 2019 | 1452540012
Tue Oct 22 11:13:39 MSK 2019 | 1452548519
^C
Как упоминалось в некоторых ответах здесь, он суммирует время параллельных операций, но в системе всего 2 процессора, а не 8-9.
Я пытаюсь реализовать мониторинг системы хранения, но не понимаю результатов.
Системная информация:
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)
# grep 'model name' /proc/cpuinfo
model name : Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz
model name : Intel(R) Xeon(R) Platinum 8160 CPU @ 2.10GHz
# uname -r
3.10.0-957.5.1.el7.x86_64
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 953M 0 part /boot
├─sda2 8:2 0 24.1G 0 part
│ ├─rhel-root 253:0 0 45.3G 0 lvm /
│ └─rhel-swap 253:1 0 3.7G 0 lvm [SWAP]
└─sda3 8:3 0 25G 0 part
└─rhel-root 253:0 0 45.3G 0 lvm /
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part
└─vg_data-lv_data 253:2 0 100G 0 lvm /data
sr0 11:0 1 1024M 0 rom