/dev/mapper 및 악성 IO 위젯

/dev/mapper 및 악성 IO 위젯

멋진 위젯에서 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

"sda" 대신 "mapper"를 사용하면 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로 인해... 무엇을 측정하고 싶나요? 그러나 사용하는 경우하나기기에만 해당됩니다. 이 숫자는 분명히 의미가 있습니다.이것이 당신에게 더 도움이 되기를 바랍니다.

관련 정보