Linuxでは、procファイルシステムはどのくらいの頻度で更新されますか?

Linuxでは、procファイルシステムはどのくらいの頻度で更新されますか?

procLinuxでは、ファイルシステムはどのくらいの頻度で更新されますか? 20ミリ秒(時間の量子)ですか?

答え1

procファイルシステムから読み取った情報は、どのメディアにも(RAMにもかかわらず)保存されないため、何も更新する必要はありません。

procファイルシステムの目的は、読み書きするデータがどのメディアにも存在しなくても、ユーザースペースプログラムが単純で使い慣れたファイルシステムの意味(、、、、、、open)を使用してカーネルデータを取得または設定できるようにすることです。フォーマットを事前に指定できないデータを取得して設定する場合、この設計決定は、ASN1でエンコードされたOIDなどの実装よりも優れていると見なされます(たとえば、人間が読みやすくスクリプトを作成しやすい)。これもうまくいきます。closereadwritelseek

proc ファイルシステムから読み取ったときに表示されるデータは、ファイルの先頭から読み取るとすぐに生成されます。つまり、読み取り操作を実行すると、読み取り中のファイルに関連するカーネルコールバック関数によってデータが生成されます。ファイルの先頭で作業lseekして再読み込みすると、データを再生成するためにコールバックが再度呼び出されます。同様に、proc ファイルシステムから書き込み可能ファイルに書き込むときにコールバック関数が呼び出され、入力を解析し、カーネル変数を設定します。入力データは生形式では保存されません。

上記は、Hauke Lagingをもう少し詳しく説明したものです。彼の答えを受け入れることをお勧めします。

答え2

訪問するたびに更新されます。その瞬間、カーネルの状態を見ることができます。そのため、「ファイル」に表示されるサイズは実際のサイズではありません。実際のサイズは異なる場合があり、ファイルにアクセスするときに決定されます。

数日間更新されない可能性があります。見ないと。 :-)

関連情報