
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 这一类配置。普通服务器先按上面这套检查,基本就能定位到问题。




留言评论
暂无留言