在早期版本“的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

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

- 运行iostat -dkx,你会得到千字节/秒读取和写入,并从系统中每个磁盘。 iostat的使用相当复杂的公式来做到这一点。

! - 取计数器的值在任何的2.6.x内核中块和块了(pgpginpgpgout)和乘以1024吧,你得到确切同样的答案

其他提示

也许看看哪些现有的方案呢? dstat是一个很好的,用Python编写的。 iostat的是旧的传统之一,并且它的输出-x仅包括磁盘(及设备映射器设备),未分区。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top