/ proc / diskstat数字不能正确汇总

时间:2013-12-12 20:37:44

标签: linux iostat

我正在编写一个使用/ proc / diskstat报告指标的例程,它会报告磁盘活动的数据。这些数字并没有加起来。

示例:

[esm@graphdb301p:lib]$ cat /proc/diskstats
1       0 ram0 0 0 0 0 0 0 0 0 0 0 0 
...
1      15 ram15 0 0 0 0 0 0 0 0 0 0 0
7       0 loop0 0 0 0 0 0 0 0 0 0 0 0
...
7       7 loop7 0 0 0 0 0 0 0 0 0 0 0
8       0 sda 357988 499995 9002150 1092949 36213840 257661933 2352749204 76049110 0 20178750 77123506
8       1 sda1 691 434 13908 345 148 5213 10740 1037 0 1021 1381
8       2 sda2 629 1391 16160 1658 715 10378 88744 2520 0 3934 4174
8       3 sda3 356344 498170 8969490 1090866 36212977 257646342 2352649720 76045553 0 20174790 77117871    

通过阅读文档,我应该能够添加sda1 + sda2 + sda3 = sda。这几乎是正确的。但是,它已经关闭了:

  356344 sda3
  +  629 sda2
  +  691 sda1
  ------
= 357644   BUT 
  357988  IS THE sda VALUE.  

为什么不添加???

1 个答案:

答案 0 :(得分:2)

分区表总是占用几个字节。此外,可能存在标记为坏的块,大多数HD即使在新的情况下也会有一些坏块。