proc / diskstatsはこれらの値をどのように表示しますか? proc/statとmeminfoはどうですか?

proc / diskstatsはこれらの値をどのように表示しますか? proc/statとmeminfoはどうですか?

ファイルと同じ方法でディスク統計を取得しようとしています。ファイルを読み取らずにその値に到達する方法はありますか?この値はどのようにそこに配置されますか? diskstatsに配置するデータを処理する「.c」ファイルはありますか? proc/statとmeminfoはどうですか? (ディスク統計が私の主な関心事です)

答え1

これ/proc文書- またはむしろ擬似ファイル - はユーザープロセスとカーネルの間のデータインタフェースです。/procカーネルは、(ユーザー)プロセスがファイルを開いて読み取るときにデータを提供します。はい。データ.cを生成するルーチンがありますが、diskstatsこれはカーネルの一部です。

proc擬似ファイルシステムを介してアクセスできる一部のデータは、他のソースおよび/または他の手段を介してアクセスできます。簡単な例として、プロセスはしばしば収集できる膨大な量の情報に直接アクセスできます。それ /proc/pid目次。ただし、ほとんどの/proc情報は通常、ユーザープロセスからアクセスできないカーネルデータ構造から来ます。特権ユーザーレベルのプロセスは、次のコマンドを使用してカーネルからこの情報を抽出できます/dev/kmem (参照:メモリ(4) そしてキロメートルメモリ(7D)) - これをサポートするシステムでは - しかし、これは非常に難しく、おそらく移植性がないでしょう。推奨しない。すべての実用的な目的のために、/procこれがこのデータを取得する唯一の方法です。

関連情報