2013-12-12 28 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也有一些壞塊。