在早期版本的“vmstat”中,设备次要版本用于确定它是分区还是磁盘(0 =>>> 0 =>分区))。我不对吗? 然后,从内核版本2.6.x开始,仅在磁盘级别测量某些度量标准,因此解析算法基于与设备关联的度量标准的数量(11个度量标准=>磁盘和4个度量标准=>分区)
但是,在内核版本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 :(得分:1)
也许看看现有的程序是做什么的? dstat是一个很好的,用python编写。 iostat是旧的传统的,它的-x输出只包括磁盘(和设备映射器设备),而不是分区。
答案 1 :(得分:0)
- 运行iostat -dkx
,您将获得KBytes / sec读取和写入系统中每个磁盘的信息。 iostat使用相当复杂的公式来做到这一点。
- 在任何2.6.x内核中取块的计数器值并阻塞(pgpgin
和pgpgout
)并将其乘以1024,得到完全相同的答案!