您的当前位置:首页 >IT科技类资讯 >systemd 日志维护指南(附实例) 正文
时间:2025-11-05 11:27:39 来源:网络整理编辑:IT科技类资讯
如果你的 Linux 发行版支持systemd,那么从启动时开始,它每秒钟都会从系统的所有进程和应用程序中收集日志。所有这些日志事件都由 systemd 的journald守护程序管

如果你的南附 Linux 发行版支持 systemd,那么从启动时开始,实例它每秒钟都会从系统的南附所有进程和应用程序中收集日志。所有这些日志事件都由 systemd 的实例 journald 守护程序管理。journald 收集所有的南附日志(信息、警告、实例错误等),南附并将其作为二进制数据存储在磁盘文件中。实例
由于日志保留在磁盘中,南附而且每秒钟都在收集,实例所以它占用了巨大的南附磁盘空间;特别是对于旧的系统、服务器来说。实例例如,南附在我的实例一个运行了一年左右的测试系统中,日志文件的南附大小是 GB 级的。
如果你管理多个系统、服务器,建议一定要正确管理 journald 日志,以便高效运行。让我们来看看如何管理日志文件。
使用 systemd 的 journalctl 工具,服务器租用你可以查询这些日志,对其进行各种操作。例如,查看不同启动时的日志文件,检查特定进程或应用程序的最后警告和错误。如果你对这些不了解,我建议你在学习本指南之前先快速浏览一下此教程:使用 journalctl 查看和分析 systemd 日志(附实例) 》。
物理日记的日志文件在哪里?systemd 的 journald 守护进程在每次启动时都会收集日志。这意味着,它根据启动情况对日志文件进行分类。
日志以二进制形式存储在路径 /var/log/journal,文件夹为机器 ID。
比如说:

日志文件位置的截图-1

日志文件位置的截图-2
另外,请记住,根据系统配置,运行时日志文件被存储在 /run/log/journal/。而这些在每次启动时都会被删除。
我可以手动删除日志文件吗?你可以,但不要这样做。相反,请按照下面的说明,使用 journalctl 工具清除日志文件以释放磁盘空间。
systemd 的日志文件占用了多少磁盘空间?打开一个终端,运行以下命令。
复制journalctl --disk-usage1.这应该为你提供系统中的WordPress模板日志文件实际使用的数量。

journalctl 磁盘使用命令
如果你有一个图形化的桌面环境,你可以打开文件管理器,浏览路径 /var/log/journal,并检查属性。
systemd 日志清理过程清理日志文件的有效方法应该是通过 journald.conf 配置文件来完成。正常情况下,即使 journalctl 提供了删除日志文件的工具,你也不应该手动删除这些文件。
让我们来看看如何 手动 删除它,然后我将解释 journald.conf 中的配置变化,这样你就不需要时不时地手动删除文件;相反,systemd 会根据你的配置自动处理它。
手动删除首先,你必须 flush 和 rotate 日志文件。轮换rotate是将当前活动的日志文件归档,并立即开始创建一个新的日志文件继续记录日志。冲洗flush 开关要求日志守护进程将存储在 /run/log/journal/ 中的所有日志数据冲入 /var/log/journal/,如果持久性存储被启用的话。
然后,在 flush 和 rotate 之后,免费源码下载你需要用 vacuum-size、vacuum-time 和 vacuum-files 选项运行 journalctl 来强制 systemd 清除日志。
例 1:
复制sudo journalctl --flush --rotate1. 复制sudo journalctl --vacuum-time=1s1.上面这组命令会删除所有存档的日志文件,直到最后一秒。这有效地清除了一切。因此,在运行该命令时要小心。

日志清理-例子
清理完毕后:

清理后--日志的占用空间
你也可以根据你的需要在 --vacuum-time 的数字后面提供以下后缀:
s:秒m:分钟h:小时days:天months:月weeks:周years:年例 2:
复制sudo journalctl --flush --rotate1. 复制sudo journalctl --vacuum-size=400M1.这将清除所有存档的日志文件,并保留最后 400MB 的文件。记住这个开关只适用于存档的日志文件,不适用于活动的日志文件。你也可以使用后缀,如下所示。
K:KBM:MBG:GB例 3:
复制sudo journalctl --flush --rotate1. 复制sudo journalctl --vacuum-files=21.vacuum-files 选项会清除所有低于指定数量的日志文件。因此,在上面的例子中,只有最后两个日志文件被保留,其他的都被删除。同样,这只对存档的文件有效。
如果你愿意,你可以把两种选项结合起来,但我建议不要这样做。然而,如果同时使用两个选项,请确保先用 --rotate 选项运行。
虽然上述方法很好,也很容易使用,但建议你使用 journald 配置文件来控制日志文件的清理过程,该文件存在于 /etc/systemd/journald.conf。
systemd 为你提供了许多参数来有效管理日志文件。通过组合这些参数,你可以有效地限制日志文件所占用的磁盘空间。让我们来看看。
journald.conf 参数
描述
实例
SystemMaxUse
指定日志在持久性存储中可使用的最大磁盘空间
SystemMaxUse=500M
SystemKeepFree
指定在将日志条目添加到持久性存储时,日志应留出的空间量。
SystemKeepFree=100M
SystemMaxFileSize
控制单个日志文件在被轮换之前在持久性存储中可以增长到多大。
SystemMaxFileSize=100M
RuntimeMaxUse
指定在易失性存储中可以使用的最大磁盘空间(在 /run 文件系统内)。
RuntimeMaxUse=100M
RuntimeKeepFree
指定将数据写入易失性存储(在 /run 文件系统内)时为其他用途预留的空间数量。
RuntimeMaxUse=100M
RuntimeMaxFileSize
指定单个日志文件在被轮换之前在易失性存储(在 /run 文件系统内)所能占用的空间量。
RuntimeMaxFileSize=200M
如果你在运行中的系统的 /etc/systemd/journald.conf 文件中添加这些值,那么在更新文件后,你必须重新启动 journald。要重新启动,请使用以下命令。
复制sudo systemctl restart systemd-journald1.在你清理完文件后,检查日志文件的完整性是比较明智的。要做到这一点,请运行下面的命令。该命令显示了日志文件是否通过(PASS)、失败(FAIL)。
复制journalctl --verify1.
验证日志文件
希望本指南能帮助你了解 systemd 日志管理流程的基本情况。通过这些,你可以通过限制空间、清除旧的日志文件来管理系统或服务器中的日志文件所使用的磁盘空间。这些只是指导性的命令,你可以通过多种方式组合这些命令来实现你的系统需求。
journalctl 手册journald.conf 手册荣耀8升173体验报告(荣耀8升173系统更新的优势与不足)2025-11-05 11:11
索引是一种让你快速找到数据的数据结构2025-11-05 11:10
简单说说Oracle分区2025-11-05 10:57
加速人工智能任务,同时保护数据安全2025-11-05 10:30
数据屏蔽如何帮助确保数据安全性2025-11-05 10:10
PingCAP 用户峰会:开启数据敏捷新时代,共创企业级数据服务平台2025-11-05 10:02
PingCAP 的客户成功新范式:自主开源+持续引领+面向未来2025-11-05 09:48
宾德24一70镜头(探索宾德24一70镜头的高清成像与广泛适用性)2025-11-05 09:30
数据库日检不仅是一项工作,更是一种能力2025-11-05 09:06
三星840Pro128固态硬盘的性能和优势(探究三星840Pro128固态硬盘的速度、可靠性和耐久性)2025-11-05 11:19
分区如何在分片数据库系统中提高性能2025-11-05 10:57
IS-IS同时下发缺省路由出现路由环路解决2025-11-05 10:44
Windows控制台程序中的全屏模式功能实现2025-11-05 10:44
笔记本电脑AHCI模式教程(了解AHCI模式,提升笔记本电脑性能)2025-11-05 10:28
2024年十大新兴网络安全威胁2025-11-05 10:11
CMU 15445 学习之Advanced SQL2025-11-05 09:58
如何防止破坏并提高物理数据中心的安全性2025-11-05 09:55
华硕A555L安装系统教程(一步一步教你华硕A555L电脑如何安装系统)2025-11-05 09:48
图解 | 聊聊 MyBatis 缓存2025-11-05 09:01