設定
カーネル4.19.62でsystemd 244(244.5+)を使用します。
総ログ保存サイズを100MBに設定したいです。 Journaldは揮発性リポジトリとして設定されているため、ログは最終的に/run/log/journal/...
次の場所に保存されます。実行時の最大使用量次のようにストレージクォータを設定するために使用する必要があります。/etc/systemd/journald.conf:
[Journal]
Storage=volatile
RuntimeMaxUse=100M
RuntimeMaxFileSize=2M
これらの設定値を調整すると、ジャーナルのサイズとクォータが変更され、Journalctlの開始メッセージにも変更が表示されます。
構成値が変更される間にsystemd-journald.serviceを停止し、system*
その下のすべてのファイルを削除して/run/log/journal/...
サービスを再起動します。
メモ:Storage=persistent
log と一緒に使用すると、/var/log/journal/
次のようになります。システム最大使用量正しい尊敬を得てください。これは揮発性/ RuntimeMaxUseのバグのようです。
観察されたエラー
実行時間最大使用量(100M)は無視されます。ジャーナルクォータは次のように設定されます。64MBただ実行最大ファイルサイズ32M未満。
実行中の場合最大ファイルサイズ32M以上に設定すると、ログクォータはこの値の2倍に設定されます。
走る最大使用量どちらの場合も無視されるようです。
これはJournald / systemd設定処理のバグですか?なぜランタイムなのか?最大使用量無視します。値は64Mまたは2倍のランタイムです。最大ファイルサイズジャーナルクォータとして使用されますか?
ログソースで、max_useをmax_sizeの2倍に設定できる複数の場所を表示できます。
- https://github.com/systemd/systemd/blob/v244/src/journal/journal-file.c#L3747
- https://github.com/systemd/systemd/blob/v244/src/journal/journal-file.c#L3772
エラー例
RuntimeMaxUse=100M
ログ開始メッセージに示すように、クォータは64Mに設定されていますRuntimeMaxFileSize=2M
(要求された100Mの代わりに)。
systemd-journald[20312]: Runtime Journal (/run/log/journal/...) is 2.0M, max 64.0M, 62.0M free.
-- Runtime Journal (/run/log/journal/...) is currently using 2.0M.
-- Maximum allowed usage is set to 64.0M.
-- Leaving at least 1.5G free (of currently available 31.2G of disk space).
-- Enforced usage limit is thus 64.0M, of which 62.0M are still available.
RuntimeMaxUse=100M
とを使用しており、RuntimeMaxFileSize=31M
まだ64Mを使用しています。
systemd-journald[20989]: Runtime Journal (/run/log/journal/...) is 8.0M, max 64.0M, 56.0M free.
-- Runtime Journal (/run/log/journal/...) is currently using 8.0M.
-- Maximum allowed usage is set to 64.0M.
-- Leaving at least 1.5G free (of currently available 31.2G of disk space).
-- Enforced usage limit is thus 64.0M, of which 56.0M are still available.
RuntimeMaxUse=100M
とを使用すると、RuntimeMaxFileSize=33M
クォータは66Mになります。
systemd-journald[21557]: Runtime Journal (/run/log/journal/...) is 8.0M, max 66.0M, 58.0M free.
-- Runtime Journal (/run/log/journal/...) is currently using 8.0M.
-- Maximum allowed usage is set to 66.0M.
-- Leaving at least 1.5G free (of currently available 31.2G of disk space).
-- Enforced usage limit is thus 66.0M, of which 58.0M are still available.
使用してRuntimeMaxUse=100M
100MRuntimeMaxFileSize=200M
制限を超えましたが、400MはRuntimeMaxFileSize 200Mの2倍になっているようです。
systemd-journald[25271]: Runtime Journal (/run/log/journal/...) is 8.0M, max 400.0M, 392.0M free.
-- Runtime Journal (/run/log/journal/...) is currently using 8.0M.
-- Maximum allowed usage is set to 400.0M.
-- Leaving at least 1.5G free (of currently available 31.2G of disk space).
-- Enforced usage limit is thus 400.0M, of which 392.0M are still available.
ベストアンサー1
私が知らない追加の設定ファイルの64M /lib/systemd/journald.conf.d/00-systemd-conf.conf
:。
追加の設定を削除した後で、RuntimeMaxUse=64M
希望の値を設定できるようになりました/etc/systemd/journald.conf
。
ヒント:ジャーナルの起動時にstraceを使用して、実際に使用する構成ファイルとそのファイルを読み取る順序を確認してください。いよいよ/lib
プロフィールが公開されました。