0

我正在编写一个使用 /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.  

为什么这不加起来???

4

1 回答 1

2

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

于 2013-12-12T20:44:25.180 回答