linux disk statistics with dstat and disk device names
Something interesting i spotted on Karansbir’s blog:
Running dstat normally gives you something like this :
# dstat --nocolor ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 3 0 97 0 0 0| 820k 456k| 0 0 | 800B 866B|1054 255
And you can split the disk metrics up based on devices using something like this :
# dstat -D sda,sdb,total --nocolor ----total-cpu-usage---- --dsk/sda-- --dsk/sdb-- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ: read writ: read writ| recv send| in out | int csw 1 1 97 0 0 0| 176k 77k: 30k 162k: 411k 478k| 0 0 |3608B 4005B|1447 1458 33 2 63 0 1 2| 0 0 : 0 216k: 0 432k|2470k 1611k| 0 0 |2915 6967 31 2 65 0 1 1| 0 0 : 0 0 : 0 0 |2210k 1338k| 0 0 |2866 6051
But you can also get deeper level device names / nodes to measure – which is required in many cases if you have drivers for storage creating nodes further down the tree than /dev. Eg. I have a setup where there are four mysql instances running, each with its own dedicated storage :
# mount | grep srv /dev/cciss/c0d1 on /var/lib/mysql/node1 type ext3 (rw) /dev/cciss/c0d2 on /var/lib/mysql/node2 type ext3 (rw) /dev/cciss/c0d3 on /var/lib/mysql/node3 type ext3 (rw) /dev/cciss/c0d4 on /var/lib/mysql/node4 type ext3 (rw) /dev/cciss/c0d5 on /srv/wal type ext3 (rw)
so in this case, to get dstat reporting working you need to mention just the component level, like this :
# dstat -D cciss/c0d1,cciss/c0d2,cciss/c0d3 --nocolor ----total-cpu-usage---- dsk/cciss/c dsk/cciss/c dsk/cciss/c -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ: read writ: read writ| recv send| in out | int csw 3 0 97 0 0 0| 209k 89k: 201k 86k: 204k 85k| 0 0 | 799B 865B|1055 256 90 1 8 1 0 0|3196k 68k: 764k 0 : 816k 24k|1067k 1650k| 0 0 |1999 609 95 1 3 1 0 0|2548k 0 : 0 4084k:2448k 5700k| 660k 791k| 0 0 |1611 571 96 1 2 1 0 0|2628k 0 : 808k 0 :1620k 0 | 352k 798k| 0 0 |1835 1605
And you get the details, for each block device.