在许多 Linux 服务器上,systemd 日志会慢慢增长,成为 /var 中最大的内容。你可以查看它的大小、一次性精简它,并设置上限让它保持较小——全程无需改动其他日志文件。
运行 journalctl --disk-usage。它会显示已归档和活动日志文件的总大小。这些文件通常位于 /var/log/journal(持久化)或 /run/log/journal(仅保存在内存中)。
如果 /var/log/journal 目录不存在,系统可能仅将日志保存在内存中,此时你看到的大小受限于内存,而不是磁盘。
要让日志保持在某个大小以内,请运行 sudo journalctl --vacuum-size=500M。若只想保留最近的记录,请运行 sudo journalctl --vacuum-time=14d。这两条命令都会删除旧的已归档日志文件,其中的日志之后无法恢复。
再次运行 journalctl --disk-usage 进行确认。清理操作会删除整个已归档文件,因此结果可能略高于或略低于目标值。
打开 /etc/systemd/journald.conf(或在 /etc/systemd/journald.conf.d/ 中创建一个附加配置文件),在 [Journal] 段下设置 SystemMaxUse=500M。如果还想保留一些可用空间,也可以使用 SystemKeepFree=1G。SystemMaxUse 限制持久化日志;RuntimeMaxUse 对内存中的日志起相同作用。
使用 sudo systemctl restart systemd-journald 使其生效,然后过一段时间再查看 journalctl --disk-usage。
日志越小,可用于调试的历史记录就越短。如果需要保留某个服务更长时间的历史记录,请将其日志转发到其他位置,而不是全部保存在服务器上。
看看哪个服务写入最多:journalctl -b -p warning --no-pager | tail 会显示最近的警告,而每分钟记录数千行日志的服务值得从源头上修复。
最后更新: 2026-10-03
对系统本身来说是安全的:它只会删除旧的已归档日志文件。但你会丢失这些日志历史,因此请先确认调查时不再需要它们。
重启 systemd-journald(sudo systemctl restart systemd-journald)。此后限制即会生效,较旧的文件会在日志轮转时被精简。
持久化存储已关闭,或设置为 auto 但目录不存在。此时日志位于内存中的 /run/log/journal,重启后会丢失。仅在需要持久化时才创建 /var/log/journal 并重启 journald。
先使用内置工具,以及删除之前需要检查的内容。
在做任何更改之前,建议按以下顺序检查。
在做任何更改之前,先按顺序查看这份简短的检查清单。
读取 ID,理解其含义,并在厂商官方页面中搜索。
每款清理工具的设计目标,以及适合哪些人。
哪些可以安全删除,哪些需要再看一眼。
它会删除什么、您会失去什么,以及何时使用。
它为何看起来这么大,以及安全缩减的方法。
它包含什么、删除后会失去什么,以及受支持的删除方法。
了解这个缓存是什么,以及如何使用 Windows 工具清理它。
网络、芯片组、存储、显卡等驱动的合理安装顺序。
通过命令行添加单个驱动程序或整个文件夹。
先查看,再备份,最后删除——使用 Android 自带工具。
了解重复照片出现的原因,以及如何在不丢失好照片的前提下清除它们。
Rain Cleaner:清理前先查看,提供免费版和 14 天 Pro 试用。
哈希校验、Defender 扫描和 SmartScreen 操作步骤。
如何私下报告安全问题。
我们现在、接下来和之后要做的事项。
较为稳妥的检查顺序:df、inode、du、已删除但仍被打开的文件、日志、软件包和 Docker。
删除任何内容之前,先用四种内置方法看看是什么占用了空间。
所有磁盘清理问题集中解答,并附有安全的检查顺序。
按安全的顺序分为九步,可打印。
备份、还原点、先预览,以及哪些文件绝不能手动删除。
它们是什么、如何安全地缩小,以及哪些不要动。