ファイルと同じ方法でディスク統計を取得しようとしています。ファイルを読み取らずにその値に到達する方法はありますか?この値はどのようにそこに配置されますか? diskstatsに配置するデータを処理する「.c」ファイルはありますか? proc/statとmeminfoはどうですか? (ディスク統計が私の主な関心事です)
答え1
これ/proc
文書- またはむしろ擬似ファイル - はユーザープロセスとカーネルの間のデータインタフェースです。/proc
カーネルは、(ユーザー)プロセスがファイルを開いて読み取るときにデータを提供します。はい。データ.c
を生成するルーチンがありますが、diskstats
これはカーネルの一部です。
proc擬似ファイルシステムを介してアクセスできる一部のデータは、他のソースおよび/または他の手段を介してアクセスできます。簡単な例として、プロセスはしばしば収集できる膨大な量の情報に直接アクセスできます。それ
/proc/pid
目次。ただし、ほとんどの/proc
情報は通常、ユーザープロセスからアクセスできないカーネルデータ構造から来ます。特権ユーザーレベルのプロセスは、次のコマンドを使用してカーネルからこの情報を抽出できます/dev/kmem
(参照:メモリ(4)
そしてキロメートルメモリ(7D)) - これをサポートするシステムでは - しかし、これは非常に難しく、おそらく移植性がないでしょう。推奨しない。すべての実用的な目的のために、/proc
これがこのデータを取得する唯一の方法です。