游乐游手机版
首页/系统平台/文章详情

麒麟系统磁盘空间不足?清理tmp文件夹方法

时间:2026-06-03 06:08
麒麟系统 tmp分区显示空间不足但实际文件体积很小,通常是“已删除文件仍被进程占用”所致。解决方案包括:强制清空 tmp目录;使用lsof命令定位并终止占用已删除文件的进程;将 tmp挂载为tmpfs实现重启自动清空;配置systemd-tmpfiles进行周期性清理;或将大体积临时数据迁移至其他分区。根据实际情况选择合适方法即可。

麒麟系统 /tmp 分区占满的精准排查与根治方案

麒麟系统提示“磁盘空间不足”清理tmp文件夹

在麒麟系统运维中,“磁盘空间不足”的警告往往令人头疼。尤其棘手的是,当你使用 df -h 命令检查时,发现 /tmp 分区占用率已达100%,但执行 ls -lh /tmp 后,实际文件体积却微乎其微。这种“空间莫名消失”的异常现象,绝大多数情况下是由于“已删除文件仍被进程占用”所致。文件虽然已经从目录树中移除,但只要相关进程依然持有其句柄,磁盘空间就无法真正释放。接下来,我们将系统性地剖析这一问题,提供从应急清理到长效预防的完整解决方案。

一、强制清空 /tmp 目录(基础操作)

此方法最为直接,适用于临时文件堆积、但无关键后台进程长期依赖 /tmp 的场景。它能清除所有未被运行时锁定的文件。

首先,打开终端,获取 root 权限:sudo -i

接着,执行清空命令:rm -rf /tmp/*。此命令会递归删除 /tmp 下的全部内容。

然后,为确保所有操作同步写入磁盘,执行:sync

最后,验证效果:再次运行 df -h /tmp,观察可用空间是否已经恢复。

二、定位并释放被占用的已删除文件(解决“空间未释放”核心问题)

如果基础清理后空间仍未释放,或者你怀疑有进程在“暗中”持有文件句柄,那么需要深入排查。这才是解决此类问题的最关键步骤。

第一步,使用命令 lsof /tmp | awk '$5 ~ /REG/ && $9 ~ /deleted/ {print $2, $9}' | sort -u。这条命令能精准列出所有仍在占用 /tmp 目录下、且状态已标记为“deleted”(已删除)的进程ID和对应文件名。

第二步,根据上一步获取的进程号(PID),使用 lsof -p [PID] 查看该进程的详细信息,确认其用途,判断是否可以安全终止。

第三步,终止进程。如果确认可以中断,先尝试友好地结束:kill -15 [PID]。若进程无响应,再使用强制终止信号:kill -9 [PID]

第四步,进程终止后,文件句柄随之关闭,被占用的空间会立即释放。此时再次运行 df -h /tmp,通常能立刻看到空间恢复。

三、启用 tmpfs 挂载实现重启自动清空

想要一劳永逸地避免 /tmp 被写满?将其挂载为 tmpfs(内存文件系统)是绝佳选择。所有数据都存放在内存中,系统重启后自动清零,完全无需手动干预。

操作也并不复杂。首先,编辑系统挂载配置文件:sudo nano /etc/fstab

然后,在文件末尾添加一行:tmpfs /tmp tmpfs defaults,size=2G,mode=1777 0 0。其中 size 参数可根据物理内存大小灵活调整。

接着,应用新的挂载配置:sudo umount /tmp && sudo mount /tmp

最后,用 mount | grep /tmp 命令验证,如果输出中包含“tmpfs”字样,即表示挂载成功。

四、配置 systemd-tmpfiles 实施周期性轮转清理

如果不希望依赖重启来清理,同时又想实现自动化管理,那么 systemd 自带的 tmpfiles 工具就是理想选择。它可以按规则(如文件访问时间)自动清理旧文件。

首先,检查系统是否已有相关配置:ls /usr/lib/tmpfiles.d/*.conf | grep -i tmp

接着,创建自定义规则文件:sudo tee /etc/tmpfiles.d/kylin-tmp.conf

写入以下规则内容:v /tmp 1777 root root 7d。这表示保留 /tmp 目录下7天内被访问过的文件,超时的自动删除。

规则创建后,可以立即手动触发一次清理以测试效果:sudo systemd-tmpfiles --clean。之后,systemd 会定期自动执行此任务。

五、迁移大体积临时数据至其他分区

有时候,/tmp 目录下某些特定应用生成的子目录(例如 /tmp/zysoft_cache)体积巨大且不能随意删除,这会给根分区带来持续压力。此时,绑定挂载(bind mount)是完美的解决方案,可以将这些“大户”迁移到空间充裕的其他分区。

第一步,在目标分区(假设是 /home)创建新目录:sudo mkdir -p /home/tmp_offload

第二步,迁移数据并清空原目录:sudo rsync -a v /tmp/zysoft_cache/ /home/tmp_offload/ && sudo rm -rf /tmp/zysoft_cache

第三步,建立绑定挂载,让访问原路径实际指向新位置:sudo mount --bind /home/tmp_offload /tmp/zysoft_cache

第四步,为了确保重启后依然有效,将挂载项写入配置文件:echo '/home/tmp_offload /tmp/zysoft_cache none bind 0 0' | sudo tee -a /etc/fstab

总结来说,面对麒麟系统 /tmp 分区占满的问题,从基础的强制清理,到核心的进程句柄释放,再到治本的 tmpfs 挂载、自动化轮转以及数据迁移,这套方法几乎能覆盖所有场景。根据你的实际需求和系统环境,选择最合适的方案即可。

来源:https://www.php.cn/faq/2408366.html
上一篇Win11屏幕注释工具开启与任意位置涂鸦标注方法 下一篇统信UOS安装VirtualBox虚拟机运行Win10教程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
微软详解Win11时间点还原 默认每24小时创建恢复点
系统平台 · 2026-06-30

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验
系统平台 · 2026-06-30

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

Win11六月可选更新KB5095093修复回收站弹窗异常
系统平台 · 2026-06-30

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞
系统平台 · 2026-06-30

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

微软加速Win11 25H2推送 覆盖所有符合条件家用PC
系统平台 · 2026-06-30

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送