カーネルプロセス統計が機能しないのはなぜですか?

カーネルプロセス統計が機能しないのはなぜですか?

起動直後にプロセスアカウントをオンにしましたが、/usr/sbin/accton on何も記録されませんでした。

デフォルトファイルの使用:/var/log/account/pacct

ファイルが空であるため、このファイルから出力を取得するすべてのコマンドは空です。

dump-acct /var/log/account/pacct

空です。lastcommそして江戸同様ですsa -a。空です。

5.8カーネルがCONFIG_BSD_PROCESS_ACCT起動しました/boot/config*

CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y

何が欠けていますか?

これはMateデスクトップと一緒にUbuntu 20.04.2を新しくインストールしたものです。

ベストアンサー1

このacctonコマンドの主な目的は、単一のシステムコールを実行することです。acct(2)コマンドを追跡するときに見られるように:

acct("/var/log/account/pacct")          = 0

残りはカーネルによって処理されます。プロセス会計は大量のログを生成するため、カーネルは定期的にファイルシステムの空き容量比をチェックします。十分なスペースが確保されるまでアカウントを一時停止します。一部はkernel.acctこれにはsysctlを使用します。デフォルトでは、トリガー値は次のとおりです。

4 2 30

つまり、30秒間有効な空き容量に関する情報を考慮して、空き容量が2%未満に低下した場合は課金を一時停止し、4%を超えると再請求します。

OPでコメント、4.8Gbが空のように見えますが、ファイルシステムの1%しか占めていません。つまり、カーネルプロセスの数が一時停止されます。

だから、これはファイルシステムがほとんどいっぱいの状況です。

空き容量が〜9.6 Gb(〜4%)に達すると、次の30秒以内にアカウント管理が再開されます。それとも、新しいシステムコールを使用して> 2%を使用しますか?

OPのケースが<2.4Gbまで動作するようにするには、比率を1%に半分に減らすことが可能ですが、それ以上ではありません。 0%を使うのは賢明ではありません。

OPは、問題を解決するためにファイルシステムのサイズを増やすことにしました。

おすすめ記事