系统范围的I / O统计信息

时间:2009-10-15 13:12:37

标签: linux kernel iostat

在早期版本的“vmstat”中,设备次要版本用于确定它是分区还是磁盘(0 =>>> 0 =>分区))。我不对吗? 然后,从内核版本2.6.x开始,仅在磁盘级别测量某些度量标准,因此解析算法基于与设备关联的度量标准的数量(11个度量标准=>磁盘和4个度量标准=>分区)

但是,在内核版本2.6.18中,还有11个分区指标,RAM驱动器也有少量设备编号大于0.见下文:

   1    0 ram0 0 0 0 0 0 0 0 0 0 0 0
   1    1 ram1 0 0 0 0 0 0 0 0 0 0 0
   1    2 ram2 0 0 0 0 0 0 0 0 0 0 0
   1    3 ram3 0 0 0 0 0 0 0 0 0 0 0
   3    0 hda 364304 44416 9757168 9689046 18080864 19417076 299988386 1952073601 0 167032032 1961762954
   3    1 hda1 170 1105 2566 2352 5 0 10 13 0 1854 2365
   3    2 hda2 364112 43281 9754186 9686147 18080859 19417076 299988376 1952073588 0 167031121 1961760042
 253    0 dm-0 405386 0 9738418 14371284 37409328 0 299274624 2479168190 0 167053870 2493542151
 253    1 dm-1 1906 0 15248 70026 89219 0 713752 70030052 0 70247 70100078
  22   64 hdd 0 0 0 0 0 0 0 0 0 0 0
   2    0 fd0 0 0 0 0 0 0 0 0 0 0 0
   9    0 md0 0 0 0 0 0 0 0 0 0 0 0

在这种情况下,如何从磁盘中分离分区?我的最终目标是确定系统的整体I / O. 在这方面的任何帮助将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

也许看看现有的程序是做什么的? dstat是一个很好的,用python编写。 iostat是旧的传统的,它的-x输出只包括磁盘(和设备映射器设备),而不是分区。

答案 1 :(得分:0)

嗯......当然那是我看的第一个地方。不过,我对结果不太满意。但是,这是我发现的:

- 运行iostat -dkx,您将获得KBytes / sec读取和写入系统中每个磁盘的信息。 iostat使用相当复杂的公式来做到这一点。

- 在任何2.6.x内核中取块的计数器值并阻塞(pgpginpgpgout)并将其乘以1024,得到完全相同的答案!