Linux 日志把磁盘占满怎么办?试试限制 journald 大小

journald 日志占用磁盘限制示意图

Linux 服务器用久了,有时候系统盘突然告急,清理下载目录也没腾出多少空间。再一看,/var/log/journal 下面的日志已经攒了好几 GB。

这种情况不一定要急着删目录。先确认是不是 journald 占用太大:

journalctl --disk-usage

如果返回的大小明显不正常,可以先把已经归档的旧日志收一下:

sudo journalctl --vacuum-size=1G

这一步只是临时清理。想让它以后别反复涨满,建议给 journald 加一个长期上限。

sudo mkdir -p /etc/systemd/journald.conf.d
sudo nano /etc/systemd/journald.conf.d/10-size-limit.conf

文件里写入下面几行:

[Journal]
SystemMaxUse=1G
SystemKeepFree=2G

保存后重启 journald:

sudo systemctl restart systemd-journald

简单理解:SystemMaxUse 控制日志最多用多少空间,SystemKeepFree 控制至少给磁盘留多少空闲空间。

如果是很小的 VPS,可以把 SystemMaxUse 改成 500M;如果系统盘比较大,也可以按实际情况放宽一点。

需要注意的是,--vacuum-size 主要处理已经归档的 journal 文件,正在写入的日志不会立刻全部消失。如果某个服务一直疯狂刷错误日志,限制大小只能先止血,后面还是要用 journalctl -p err -b 找一下具体是谁在报错。

另外,如果机器没有启用持久日志,或者日志主要在 /run/log/journal,就要看 RuntimeMaxUse 这一类配置。普通服务器先按上面这套检查,基本就能定位到问题。

Caleb
Caleb管理员

上一篇:网站图片太大怎么办?把PNG转成WebP试试
下一篇:已是最新的文章

留言评论

暂无留言
请先 登录 再评论,若不是会员请先 注册
取消
扫码支持