2009-10-15 68 views
0

在早期版本的「vmstat」中,使用設備次版本來確定它是分區還是磁盤(0 => disk和> 0 => partition))。我不正確嗎? 然後,從內核版本2.6.x開始,一些度量僅在磁盤級別進行度量,因此解析算法基於與設備相關的度量數量(11度量=>磁盤和4度量=>分區)。系統範圍I/O統計

然而,在內核版本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。 在這方面的任何幫助將不勝感激。

回答

0

嗯......當然這是我看到的第一個地方。儘管如此,我還是不滿意。但是,這裏是我發現的:

- 運行iostat -dkx,您將在系統中的每個磁盤上讀寫KBytes/sec。 iostat使用相當複雜的公式來做到這一點。

- 在任何2.6.x內核中取出塊的計數器值(pgpginpgpgout),並將其乘以1024,得到完全相同的答案!

1

也許看看現有的程序是做什麼的? dstat是一個很好的,用python編寫的。 iostat是舊的傳統的,它的-x輸出只包括磁盤(和設備映射器設備),而不是分區。