systemd-journald の容量制限・自動削除の設定
低価格のクラウドサーバーでディスク容量が逼迫する状況になっていました、容量が多い場所を調査するとsystemd-journaldのログが1.5Gほど使用していました。もともとディスク全体で15Gしかないので、結構の割合になります
ディスクの空き容量がすくないので、直近2週間ほど残して自動削除するように設定します
現在の設定とログ使用量の確認
先ずは、journaldのログ容量を確認します。ジャーナルログは1.4Gほど利用しており、ディスクの空きも4G程となっています
# ジャーナルログの実際の消費量を確認 $ sudo journalctl --disk-usage Archived and active journals take up 1.4G in the file system. # ディスクの空き容量も確認 $ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 4.0M 0 4.0M 0% /dev tmpfs 870M 256K 870M 1% /dev/shm tmpfs 348M 792K 348M 1% /run /dev/sda1 15G 11G 4.0G 74% / tmpfs 174M 4.0K 174M 1% /run/user/0
ジャーナルログを削除して容量を空ける(即時対応)
恒久的な対策ではなく、手動でログを 300MB まで縮小させます。以下のコマンドを実行します。
コマンドを実行すると、古いログが削除され Deleted ... of archived journals と解放された容量が表示されます。
これでジャーナルログが削除されディスクの容量が確保できます
$ sudo journalctl --vacuum-size=300M Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000ba5e64-00065cb4d22be498.journal (41.4M). Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000bb3450-00065cb9af5d92d7.journal (41.8M). Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000bc171e-00065cbafb05c34b.journal (41.7M). Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000bcf834-00065cbc48d600ac.journal (41.6M). Deleted archived journal /var/log/journal/ab0e4613f8ab4e3192616e828823676f/system@2d2fba5cf3dc44fb8a11d549acb04be2-0000000000bdd7d3-00065cbda5b48dc4.journal (41.6M). Vacuuming done, freed 208.3M of archived journals from /var/log/journal/ab0e4613f8ab4e3192616e828823676f. Vacuuming done, freed 0B of archived journals from /var/log/journal. Vacuuming done, freed 0B of archived journals from /run/log/journal.
設定ファイルを編集してログの肥大化を避ける(恒久対策)
「journald.conf」を編集して、保存期間・保存容量を設定して、ログが肥大化することを防ぐようにします
設定ファイル内の[Journal] セクションの以下の2行のコメントアウト(#)を外し、任意の値を設定して保存します
$ sudo vi /etc/systemd/journald.conf [Journal] SystemMaxUse=500M # ログ全体の最大容量を 500MB に制限 MaxRetentionSec=2weeks # 2週間(14日)より古いログは自動消去
設定を保存したら、ャーナルデーモンを再起動します。再起動をおこなうと、設定した上限(500MB / 2週間)を超えた古いログが自動的に一斉削除されます
# ジャーナルデーモンの再起動 $ sudo systemctl restart systemd-journald

