统信UOS系统变慢或磁盘空间异常减少,多因systemd-journald日志累积所致;可通过journalctl限制大小、按时间清理、修改journald.conf永久配置、手动删除压缩日志及清理/tmp与缓存五种方式解决。

如果您发现统信UOS系统运行变慢或磁盘空间异常减少,很可能是由于systemd-journald日志持续累积导致/var/log/journal目录占用大量存储空间。以下是限制日志大小、控制磁盘占用的具体操作方法:
一、使用journalctl命令限制日志总容量
通过journalctl内置的vacuum机制可直接设定日志最大占用空间,系统将自动删除最旧的归档日志文件,确保总大小不超出指定阈值。该方式安全、可逆,且不影响当前运行服务的日志写入。
1、打开终端,执行命令查看当前日志占用情况:journalctl --disk-usage。
2、执行命令将日志总大小限制为50MB:sudo journalctl --vacuum-size=50M。
3、如需设为100MB,替换数值即可:sudo journalctl --vacuum-size=100M。
二、按时间范围清理过期日志条目
该方法依据日志生成时间戳进行裁剪,仅保留指定时长内的记录,适用于需要保留近期排查依据但清除历史冗余数据的场景。所有操作均作用于已归档日志及轮换后的活动日志文件。
1、先执行日志轮换,确保当前活动日志被标记为可清理状态:sudo journalctl --rotate。
2、再清理早于7天的日志数据:sudo journalctl --vacuum-time=7d。
3、若需保留仅48小时日志,改用:sudo journalctl --vacuum-time=48h。
三、修改journald.conf配置实现永久性限制
通过编辑systemd-journald主配置文件,可设定日志存储的默认行为,使限制策略在每次启动后持续生效,避免重复手动执行命令。修改前需备份原配置并重启服务以加载新参数。
1、备份原始配置文件:sudo cp /etc/systemd/journald.conf /etc/systemd/journald.conf.bak。
2、使用nano编辑器打开配置:sudo nano /etc/systemd/journald.conf。
3、取消注释并修改以下两行(若不存在则新增):
SystemMaxUse=50M
MaxRetentionSec=7day
4、保存退出后重启日志服务:sudo systemctl restart systemd-journald。
四、手动清理压缩格式旧日志文件
/var/log/目录下部分传统日志(如syslog、kern.log等)可能被logrotate自动压缩为.gz文件长期留存,这些文件不被journalctl管理,但同样消耗磁盘空间。清除前建议确认其内容无后续审计需求。
1、列出所有压缩日志:ls -lh /var/log/*.gz。
2、删除全部压缩日志文件:sudo rm -f /var/log/*.gz。
3、如仅删除30天前的压缩日志,执行:sudo find /var/log -name "*.gz" -mtime +30 -delete。
五、定期清理/tmp与用户缓存辅助释放空间
虽然/tmp和~/.cache不属于系统日志范畴,但二者常与日志行为耦合(如应用崩溃日志临时落盘、GUI日志预渲染缩略图等),在日志高压场景下会加剧磁盘压力。同步清理可提升整体空间释放效果。
1、清空临时目录(注意部分进程可能正使用其中文件):sudo rm -rf /tmp/*。
2、清空当前用户GUI缓存:rm -rf ~/.cache/*。
3、清空缩略图缓存(不影响原始图片):rm -rf ~/.thumbnails/*。










