首页/系统/Linux 运维命令速查/限制 journal 磁盘占用

限制 journal 磁盘占用

journald 默认最多用磁盘的 10%:在系统盘/日志盘分离的机器上经常过大或过小,SystemMaxUse/SystemKeepFree 一对参数定边界。

Linux 运维命令速查系统更新于 2026-10-13

限制 journal 占用

journald 会默认把持久化日志的总量控制在磁盘容量的十分之一以内,并预留一定空闲空间。但在系统盘很小的云主机上,这十分之一可能仍然过大;在专门挂了日志盘的机器上,默认值又可能偏小。通过 SystemMaxUse 与 SystemKeepFree 这组参数,可以同时设定上限与保底空间。

基本信息

适用平台systemd 发行版(journald)
配置文件/etc/systemd/journald.conf 及 /etc/systemd/journald.conf.d/ 下的片段
生效方式修改后重启 systemd-journald 服务
查看占用journalctl --disk-usage

典型使用场景

  • 系统盘容量紧张,需要给日志定一个明确上限
  • 日志盘独立挂载,希望提高保留量以便追溯更长时间
  • 日常巡检后需要归档日志,先设保留期再执行清理
  • 多台机器统一日志策略,避免逐台人工调整
  • 排查日志丢失,确认是否被容量限制提前淘汰

配置示例

配置示例
sudo tee /etc/systemd/journald.conf.d/size.conf > /dev/null <<'EOF'
[Journal]
SystemMaxUse=2G
SystemKeepFree=5G
SystemMaxFileSize=100M
MaxRetentionSec=90day
EOF
sudo systemctl restart systemd-journald
journalctl --disk-usage                 # 复核当前占用
journalctl --vacuum-size=500M           # 需要立刻腾空间时手动裁剪

校验配置

校验配置
systemd-analyze cat-config systemd/journald.conf | tail -20   # 查看合并后的有效配置
man 5 journald.conf | grep -A3 SystemKeepFree                # 核对参数语义
systemctl status systemd-journald --no-pager | head          # 确认服务重启成功
journalctl -b -n 20                                          # 确认日志仍在正常写入

参数逐项读法

参数含义注意
SystemMaxUse持久化日志的总量上限与保底空间同时命中时取更严格的一侧
SystemKeepFree至少要给文件系统留出的空闲空间防止日志把系统盘写满
SystemMaxFileSize单个日志文件的大小上限影响轮转粒度,别设得比总量还大
MaxRetentionSec按时间限制日志保留与按容量限制同时生效,先到者先淘汰
RuntimeMaxUse内存中日志的占用上限不持久化时也要限制,避免吃掉内存
直接改主配置文件会在系统升级时被新版本覆盖,用 conf.d 目录下的片段文件最稳,也便于版本管理。

容量规划思路

  • 先统计单位时间产生的日志量,再乘上期望保留天数得到目标上限
  • 系统盘要留出明显余量,避免日志挤占系统运行与临时文件所需空间
  • 日志盘独立时可以提高保留量,同时把磁盘水位纳入监控
  • 用片段文件管理配置,不同环境差异靠各自片段解决
  • 定期核对实际占用与配置上限,确认策略没有被改乱
临时腾空间时优先按时间裁剪而不是按容量裁剪,能减少误删近期排查所需日志的风险,裁剪前先确认归档已完成。

易错点

  • 设置过小的上限会让日志在需要排查时已经被淘汰,先估算保留期需要多少量再定值
  • 日志仅存内存的模式下重启即丢,审计场景要先确认持久化已开启
  • 改完配置忘记重启服务,容量限制不会立即生效,磁盘仍可能被占满
  • 用 -vacuum 手工裁剪过度会直接删掉历史日志,生产上先确认归档已完成

数据来源与参考

  • man 5 journald.conf
  • systemd 官方文档:journal 配置

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌