gabriel rosenkoetter on Tue, 20 Aug 2002 22:50:09 +0200 |
Under Solaris, I've got iostat(1M), which can be told to repeat at a granularity of 1 second or lower any number of times and, with the -xcn flags, gives me output like this on a Sun E450: cpu us sy wt id 3 7 4 86 extended device statistics r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 fd0 0.0 0.0 0.3 0.4 0.0 0.0 0.0 28.1 0 0 c0t0d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 2.2 0 0 c0t1d0 0.1 0.0 0.3 0.0 0.0 0.0 0.1 1.1 0 0 c1t6d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.7 0 0 c2t3d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c2t5d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c3t2d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c3t4d0 0.3 14.1 18.5 882.4 0.0 0.2 0.0 12.6 0 5 c2t3d5 0.3 14.1 18.5 882.3 0.0 0.2 0.0 13.2 0 5 c2t3d6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c2t5d5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c2t5d6 0.3 14.0 18.5 882.2 0.0 0.2 0.0 12.7 0 5 c3t2d5 0.3 14.0 18.5 882.3 0.0 0.2 0.0 13.3 0 5 c3t2d6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c3t4d5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c3t4d6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c4t0d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c4t1d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.8 0 0 c4t8d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c4t10d0 0.0 12.2 0.0 697.4 0.0 0.0 0.0 2.5 0 3 rmt/0 0.0 2.1 0.0 107.8 0.0 0.0 0.0 1.8 0 0 rmt/1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0 0 cyclone:vold(pid384) 21.0 20.8 10.7 10.6 0.0 0.1 0.0 1.9 0 6 golf-ge0:/xy/bfd On NetBSD, I've got iostat(8), which has similar features and with the -x option gives me output like this on my crappy IA32 workstation: device KB/t t/s time MB/s fd0 1.92 0 0.00 0.00 sd0 6.26 3 0.02 0.02 cd0 57.52 0 0.00 0.00 md0 0.00 0 0.00 0.00 (Note that we're already going downhill here, as there's no way to split out reads from writes. But it's something, at least.) Under Linux I've got... pretty much nothing. I mean, there's vmstat(8), which has a "block I/O" field. But that tells me across every block device in the ENTIRE system, which, you can imagine, is pretty much useless. Sure, sure, there's sar(1). If I want to collect data for two days and analyze it later. That's just swell, but how do I go about debugging an I/O problem while it's *happening*? As near as I can tell, especially based on some of the more discouraging posts here: http://slashdot.org/askslashdot/99/06/14/225203.shtml (particularly the third to last post, presuming they won't get resorted in an archived discussion even if you're logged in, and I don't think they will) there simply isn't any way to get the information that I want when I want it, and that those who've forged ahead and made a way have certainly not had the manpower to maintain the changes. Please tell me it ain't so! How can Linux hope to compete with a real Unix if you can't do performance monitoring on something as key as I/O? Who in their right mind would attach a RAID to a system so crippled? I *must* be missing something... -- gabriel rosenkoetter gr@eclipsed.net Attachment:
pgpGPRuJPD41N.pgp
|
|