
私はLinuxでディスクIOをキャプチャする方法について多くの記事を読んでいますが、それらのどれも私の混乱の原因に答えませんでした。
私の場合は、システムが複数のデバイスのデータを返すDiskIOTable(SNMP)を使用して、Linux上のディスクIOを監視します。たとえば、私の参照システムには、ディスクsda
、ブートパーティションsda1
、ルートパーティションsda2
、LVM論理ボリューム、dm-0
およびスワップ領域のLVM論理ボリュームの履歴がありますdm-1
。
システムのディスクIOを計算する際に、これらのさまざまな要素がどのように対話しますか?最初は、ディスク統計sda
にパーティションについて報告された統計が含まれると仮定しましたが、ディスク上の唯一のパーティションについても報告されたsda1
統計に大きな違いがあることがわかりました。これは、複数のパーティションを持つシステムで作業を開始したときに明らかになりました。たとえば、誰かが仮定しますが、常にそうではないようです(一部のシステムでは似ていますが)。ディスクで報告された統計は、ほぼ常にパーティションで報告された統計、またはディスク上のすべてのパーティションで報告された統計の合計を超えます。sda
sda1
sda1
sda1 + sda2 == sda
機器はどのようなdm-*
影響を受けますか?
パーティションと論理デバイス(例:を無視して物理ディスクのIO統計のみを合計することを前提としてdm-*
、、、md*
loop*
ram*
reads(sda) + reads(sdb) + reads(sdc) == reads(host)
それとも私が何かを見逃しているのでしょうか?