何百もの8MBの空のログファイルが私のハードドライブでいっぱいです。

何百もの8MBの空のログファイルが私のハードドライブでいっぱいです。

私は次の/etc/systemd/journald.conf構成を持っています:

[Journal]
Storage=persistent
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=1000
SystemMaxUse=5G
SystemKeepFree=10G
SystemMaxFileSize=1G
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg

確認する/var/log/journalと、何百ものジャーナルアーカイブが空であることがわかりましたjournalctl --file ...

-rw-r-----+ 1 root systemd-journal   8388608 May  8 10:56 [email protected]~
-rw-r-----+ 1 root systemd-journal   8388608 May  8 10:56 [email protected]~
-rw-r-----+ 1 root systemd-journal   8388608 May  8 10:56 [email protected]~
-rw-r-----+ 1 root systemd-journal   8388608 May  8 10:57 [email protected]~
-rw-r-----+ 1 root systemd-journal   8388608 May  8 10:57 [email protected]~
-rw-r-----+ 1 root systemd-journal   8388608 May  8 10:57 [email protected]~

実行すると、journalctl --vacuum-size=500Mすべてのファイルが消えますが、数分後にハードドライブがいっぱいになるまですぐに再表示されます。

これはdockerデーモンが実行されているときにのみ発生し、"log-driver": "journald"なぜこれが起こるのかについての情報を見つけることができません。この問題をどのようにデバッグできますが、この動作の原因は何ですか?


/Edit: docker デーモンログドライバが に設定されている場合にもjson-file発生しますが、dockerd が実行されている場合にのみ発生します。


/編集2:まったくドッカーではないかもしれません。 dockerが実行されていない場合でも同じ動作が表示されますが、遅くなります。しかし、すべての行をコメントアウトした後、journal.conf問題は消えました。SystemKeepFree=10G最初にハードドライブの空き容量が10G未満の場合、Journaldはログファイルを非常に高速に回転し始め、ディスクを埋めると疑われます。

答え1

journald.confデフォルト(空のファイル)にリセットした後、問題は消えました。設定により、SystemKeepFree=10G最初から10GBの空き容量がないため、ジャーナリングがディスクを空のログファイルで埋める一種のループに閉じ込められているようです。

関連情報