/dev/mapper 和恶意 IO 小部件

/dev/mapper 和恶意 IO 小部件

我有 dio vicious 小部件,用于在一个很棒的小部件中监视 IO。它的定义如下:

diowidget = widget({ type = "textbox" })
vicious.register(diowidget, vicious.widgets.dio, '<span color="#4682b4">${sda read_mb}</span>/<span color="#bf3eff">${sda write_mb}</span>', 3)

然而,我的硬盘使用lvm,看起来像:

; df -h
Filesystem                         Size  Used Avail Use% Mounted on
rootfs                              50G  8.0G   40G  17% /
devtmpfs                           2.0G     0  2.0G   0% /dev
tmpfs                              2.0G  1.8M  2.0G   1% /dev/shm
tmpfs                              2.0G  804K  2.0G   1% /run
/dev/mapper/vg_nightwatch-lv_root   50G  8.0G   40G  17% /
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs                              2.0G     0  2.0G   0% /media
/dev/mapper/vg_nightwatch-lv_home  409G   15G  374G   4% /home

使用“mapper”而不是“sda”给我一个Invalid markup.

我应该用什么来代替?

答案1

使用源码,其内容为(摘录)

for line in io.lines("/proc/diskstats") do
    local device, read, write =
        -- Linux kernel documentation: Documentation/iostats.txt
        string.match(line, "([^%s]+) %d+ %d+ (%d+) %d+ %d+ %d+ (%d+)")
    disk_lines[device] = { read, write }
end
[...]
-- Calculate and store I/O
helpers.uformat(disk_usage, device.." read",  read,  unit)
helpers.uformat(disk_usage, device.." write", write, unit)
helpers.uformat(disk_usage, device.." total", read + write, unit)
[...]
return disk_usage

因此,您中列出的任何内容都/proc/diskstats将成为关键disk_usage并可以进行查询。我不使用 LVM,所以我无法猜测。 虽然看起来相当复杂,由于虚拟设备的 I/O,那么,...您想要测量什么? 但是,如果您使用仅设备,这些数字显然是有意义的希望这可以进一步帮助您。

相关内容