指南 · Linux 服务器

journald 日志过大:查看并限制日志大小

在许多 Linux 服务器上,systemd 日志会慢慢增长,成为 /var 中最大的内容。你可以查看它的大小、一次性精简它,并设置上限让它保持较小——全程无需改动其他日志文件。

← 所有指南

1. 查看日志占用了多少空间

运行 journalctl --disk-usage。它会显示已归档和活动日志文件的总大小。这些文件通常位于 /var/log/journal(持久化)或 /run/log/journal(仅保存在内存中)。

如果 /var/log/journal 目录不存在,系统可能仅将日志保存在内存中,此时你看到的大小受限于内存,而不是磁盘。

2. 一次性精简

要让日志保持在某个大小以内,请运行 sudo journalctl --vacuum-size=500M。若只想保留最近的记录,请运行 sudo journalctl --vacuum-time=14d。这两条命令都会删除旧的已归档日志文件,其中的日志之后无法恢复。

再次运行 journalctl --disk-usage 进行确认。清理操作会删除整个已归档文件,因此结果可能略高于或略低于目标值。

3. 设置永久限制

打开 /etc/systemd/journald.conf(或在 /etc/systemd/journald.conf.d/ 中创建一个附加配置文件),在 [Journal] 段下设置 SystemMaxUse=500M。如果还想保留一些可用空间,也可以使用 SystemKeepFree=1G。SystemMaxUse 限制持久化日志;RuntimeMaxUse 对内存中的日志起相同作用。

使用 sudo systemctl restart systemd-journald 使其生效,然后过一段时间再查看 journalctl --disk-usage。

4. 决定需要保留什么

日志越小,可用于调试的历史记录就越短。如果需要保留某个服务更长时间的历史记录,请将其日志转发到其他位置,而不是全部保存在服务器上。

看看哪个服务写入最多:journalctl -b -p warning --no-pager | tail 会显示最近的警告,而每分钟记录数千行日志的服务值得从源头上修复。

Want a clearer view of storage and maintenance across your Linux servers?RainServer combines a lightweight agent with a cloud dashboard for VPS monitoring and maintenance.Try RainServer free for 7 days →  ·  All guides →

最后更新: 2026-10-03

快速问答

接下来阅读

下载

在你自己的电脑上试一试。

免费,无需账户,无需订阅。支持 Windows 10 和 11。