# journalctl と systemd ジャーナル

> journalctl を使用したログの読み取り方法、ジャーナルが使用している容量の確認方法、および --vacuum オプションを使用して安全に縮小する方法について解説します。

journalctl は、ほとんどの最新の Linux ディストリビューションで使用されているバイナリログストアである systemd ジャーナルを読み取るためのコマンドです。サービス、起動時、時間、優先度ごとにメッセージをフィルタリングできるほか、/var/log/journal 内で数ギガバイトにまで肥大化しがちなジャーナルのディスク使用量を報告および制限することも可能です。

## ログの読み取り

'journalctl -u nginx.service' は特定のユニットのメッセージを表示します。'-b' は出力を現在の起動時に限定し、'-b -1' は前回の起動時に限定します。'-p err' はエラー以上の重要度のメッセージのみを表示します。'--since "1 hour ago"' は時間で制限し、'-f' は新しいメッセージをリアルタイムで追跡します。

## ディスク使用量

'journalctl --disk-usage' は、アクティブおよびアーカイブされたジャーナルファイルの合計サイズを表示します。

'--vacuum-size='、'--vacuum-time='、および '--vacuum-files=' は、制限に達するまでアーカイブされたジャーナルファイルを削除します。これらはアクティブなファイルには影響しません。

## 永続的な制限

制限は /etc/systemd/journald.conf で設定します（例: SystemMaxUse=500M）。その後、'systemctl restart systemd-journald' で適用します。設定がない場合、journald はデフォルトでファイルシステムサイズの 10% 以内（最大 4 GB）にジャーナルを保持します。

## ジャーナルの縮小方法

1. サイズの確認: journalctl --disk-usage
2. アクティブなファイルをローテーションして削除可能にする: sudo journalctl --rotate
3. 2週間分のみ保持する: sudo journalctl --vacuum-time=2weeks
4. または最大 500 MB に制限する: sudo journalctl --vacuum-size=500M
5. 永続的に設定するには、/etc/systemd/journald.conf に SystemMaxUse=500M を設定し、以下を実行します: sudo systemctl restart systemd-journald

## 注意点

- 削除されたログは復元できません。問題調査に必要な履歴は保持してください。
- journald の実行中に /var/log/journal 内のファイルを直接削除しないでください。

## 出典

- [journalctl(1)](https://man7.org/linux/man-pages/man1/journalctl.1.html)
- [journald.conf(5)](https://man7.org/linux/man-pages/man5/journald.conf.5.html)

最終更新: 2026-10-08
URL: https://raincleaner.eu/ja/wiki/linux/journalctl
