麒麟V10中/tmp异常增大时,应优先使用systemd-tmpfiles按规则轮转清理;其次可选tmpreaper定时清理、find命令即时清理、麒麟管家图形化清理,或配置tmpfs挂载实现重启自动清空。
如果您发现麒麟操作系统中/tmp临时目录占用空间异常增大,导致系统响应迟缓或磁盘告警,则可能是由于应用程序残留、服务缓存堆积或未及时清理的临时文件所致。以下是多种安全、可复用的清理路径,涵盖即时处置与长效管理机制。
systemd-tmpfiles是银河麒麟V10原生集成的服务,依据配置文件定义的生存周期、权限与路径策略,自动管理/tmp及/var/tmp中的文件生命周期,无需额外安装组件,且与系统启动流程深度协同。
1、确认服务已启用:sudo systemctl is-enabled systemd-tmpfiles-setup.service,返回enabled表示已激活。
2、查看默认规则位置:ls /usr/lib/tmpfiles.d/*.conf,常见文件包括base.conf、systemd.conf等。
3、创建自定义规则(例如:清理/tmp中7天未访问的普通文件):echo 'v /tmp 1777 root root 7d' | sudo tee /etc/tmpfiles.d/clean-tmp.conf。
4、立即应用新规则并执行一次清理:sudo systemd-tmpfiles --create。
tmpreaper专为/tmp设计,支持小时级精度的时间控制,自动跳过被进程打开的文件,避免因误删导致服务中断,适用于对稳定性要求较高的生产环境。
1、安装工具:sudo apt update && sudo apt install tmpreaper。
2、手动触发清理(清除/tmp下超过24小时的文件):sudo tmpreaper 24h /tmp。
3、配置每日凌晨两点自动执行:echo '0 2 * * * /usr/bin/tmpreaper 24h /tmp' | sudo tee -a /var/spool/cron/crontabs/root。
4、重启定时任务服务生效:sudo systemctl restart cron。
该方式不依赖额外服务,直接调用内核级文件系统接口,可按访问时间(atime)、修改时间(mtime)或大小条件筛选并删除目标文件,适合紧急释放空间场景。
1、清空/tmp中所有普通文件且7天内未被访问:sudo find /tmp -type f -atime +7 -delete。
2、仅列出而非删除,用于预览将被清理的文件:sudo find /tmp -type f -atime +7 -ls | head -20。
3、跳过正在被进程使用的文件并忽略权限错误:sudo find /tmp -type f -atime +7 -delete 2>/dev/null。
麒麟管家作为系统预装维护工具,内置垃圾识别引擎,能自动识别/tmp中冗余项及关联日志、缓存,操作零门槛,且具备安全白名单机制,避免误删关键临时资源。
1、点击开始菜单,搜索并打开麒麟管家。
2、在左侧导航栏中选择垃圾清理模块。
3、点击开始扫描,等待完成。
4、在扫描结果中勾选临时文件(/tmp)及相关日志项。
5、点击一键清理,确认执行。
将/tmp挂载为基于内存的tmpfs文件系统,可彻底规避磁盘空间占用问题,所有内容在重启后自动消失,兼顾性能与洁净性,适用于开发测试或无状态服务环境。
1、编辑fstab配置文件:sudo nano /etc/fstab。
2、添加以下行(限制最大内存使用为2GB):tmpfs /tmp tmpfs defaults,size=2G,mode=1777 0 0。
3、卸载当前/tmp并重新挂载:sudo umount /tmp && sudo mount /tmp。
4、验证挂载效果:df -h /tmp,应显示类型为tmpfs且可用空间为设定值。