0

「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を決定することです。この点での助けは大歓迎です。

4

2 に答える 2

1

たぶん、既存のプログラムが何をするか見てみませんか?dstat は Python で書かれた優れたツールです。iostat は古い伝統的なもので、その -x 出力にはディスク (およびデバイスマッパーデバイス) のみが含まれ、パーティションは含まれません。

于 2009-12-10T00:21:55.923 に答える
0

うーん... もちろん、それは私が最初に見た場所です。しかし、結果には満足できませんでした。しかし、ここに私が発見したものがあります:

-- 実行iostat -dkxすると、システム内のすべてのディスクの読み取りと書き込みがキロバイト/秒で行われます。iostat は非常に複雑な式を使用してそれを行います。

-- 任意の 2.6.x カーネルでブロック インとブロック アウト (pgpginおよびpgpgout) のカウンターの値を取得し、1024 を掛けると、まったく同じ答えが得られます。

于 2009-12-10T16:09:28.383 に答える