boxmoe_header_banner_img

Hope`Chen

加载中

文章导读

CentOS 7 journal日志不断增长问题解决方案


avatar
haotianit 2026年1月10日 131
摘要
你的服务器磁盘是否总被神秘的“journal日志”悄悄吞噬?别让宝贵的存储空间被滚雪球般的日志文件压垮。本文将为你揭示CentOS 7系统中journal日志失控增长的幕后原因,并手把手教你一套从快速清理、永久限制到高效查看的完整解决方案,彻底告别磁盘空间告急的烦恼。
— 文章内容摘要

背景

线上的机器是使用的ECS,磁盘空间只有40G,而journal日志就占了5G左右,所以要限制其大小和保存时间。

常用命令

查看journal占用磁盘空间大小:

journalctl --disk-usage

使用 journalctl 工具来管理日志文件大小和保存时间:

journalctl --vacuum-size=100M # 限制journal日志文件大小为100MB
journalctl --vacuum-time=7d # 设置保存时间为7天
journalctl --vacuum-time=1years # 设置保存时间为1年

调整 journald 的配置以限制日志大小和保存时间。

编辑 /etc/systemd/journald.conf 文件

vi /etc/systemd/journald.conf

在文件中修改以下参数:

SystemMaxUse=100M     # 设置日志占用的最大磁盘空间为100MB
MaxRetentionSec=7day  # 设置最长保存时间为7天

定期清理旧的日志文件:

journalctl --rotate  # 旋转并压缩日志文件

其他命令

查看具体服务的日志:

journalctl -u nginx.service
journalctl -u nginx.service -f   实时查看

实时查看最新日志:

journalctl -f

查看尾部最新的n行日志:

journalctl -n 20

查看指定时间的日志:

journalctl --since "20 min ago"
journalctl --since yesterday
journalctl --since 09:00 --until "1 hour ago"

查看内核日志:

journalctl -k

查看系统启动日志:

journalctl -b


评论(23)

查看评论列表
评论头像
朵朵兔 2026年01月12日
这个方法挺管用的,journalctl --vacuum-size 清理后立马回了不少空间。
评论头像
芯语者 2026年01月13日
SystemMaxUse=设置后需要重启 systemd 吗,还是 reload 就行?
评论头像
深渊之翼 2026年01月15日
刚刚按步骤改了配置,MaxRetentionSec 写成了 7day 生效了,省了好几G。
评论头像
白夜骑士团 2026年01月15日
我之前也踩过这个坑,ECS 磁盘小日志一堆,设置完定期 rotate 就舒服了。
评论头像
远方的信使 2026年01月15日
journalctl --vacuum-time=7d 是基于日志时间的,会不会把还在用的文件误删?🤔
评论头像
乱跑的溜溜球 2026年01月15日
感觉说明里少提了权限问题,编辑 /etc/systemd/journald.conf 要用 root,否则保存不了。
评论头像
智能调酒师 2026年02月04日
没错,编辑配置文件一定要用 root,否则改不进去。
评论头像
飘渺星河 2026年01月16日
这个方案对生产线上有风险吗,万一要追问题日志删了就麻烦了吧?
评论头像
黑曜冥王 2026年01月18日
直接限制到100M有点激进,建议按服务重要性调整,nginx 的日志可能要留久一点。
评论头像
寒梅香 2026年01月19日
简单明了,直接教会人怎么查怎么清,实用性强,赞一个hhh。
评论头像
血月 2026年02月02日
实用性强是肯定的,省事又省心。
评论头像
HermitHustler 2026年01月20日
journalctl --rotate 后要不要再跑一次 --vacuum-size 否则不会压缩?有人测试过不?
评论头像
茶香满溢 2026年02月01日
rotate 后再跑 vacuum-size 确实能把旧的块压缩,建议顺序执行。👍
评论头像
流星呢喃 2026年01月20日
确实省了不少磁盘空间。
评论头像
Devil小恶魔 2026年01月20日
把 SystemMaxUse 调小后,日志盘占用立马降到 120M,感觉挺稳。
评论头像
貂貂灵灵 2026年01月21日
如果是容器里跑的服务,记得在容器入口加上 --storage=volatile 防止日志爆满的情况。
评论头像
赫利俄斯 2026年01月22日
vacuum-time 7d 会不会把最近的错误日志删掉?
评论头像
布丁果冻 2026年01月26日
其实删日志风险不大,只要先把关键日志导出就行。
评论头像
布丁奶茶 2026年01月27日
我之前也在小磁盘ECS上踩过日志炸盘,改完后爽了。
评论头像
雪豹追风 2026年01月27日
这玩意儿真是占空间的杀手。
评论头像
遗忘的时针 2026年01月28日
有人说直接删 /var/log/journal,结果系统启动报错,还是按官方步骤来稳妥的。
评论头像
孤傲星 2026年01月30日
看到有人把日志限制到 10M,结果关键错误都找不到,别太激进哦。
评论头像
幻星旅团 2026年01月31日
方法可行啊。

发表评论