2013-12-12 23 views
0

我正在编写一个例程来使用/ proc/diskstat来报告指标,该指标报告磁盘活动的数据。这些数字没有加起来。/proc/diskstat数字不能正确汇总

例子:

[[email protected]: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. 

为什么不这样做不加呢???

回答

2

分区表总是有几个字节。另外,也可能有块标记为坏,即使是新的,大多数HD也有一些坏块。