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

麒麟系统磁盘空间不足?清理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教程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

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

同类最新

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

更多
Windows系统关闭完成设备设置提示禁用开机引导方法
系统平台 · 2026-06-03

Windows系统关闭完成设备设置提示禁用开机引导方法

Windows开机时“完成设备设置”提示常因OOBE流程未完成、账户同步残留或系统推荐服务引起。本文提供五种解决方法:关闭登录选项中的自动设置复原;禁用系统通知中的引导提示;清除本地OOBE缓存;修改注册表标记OOBE已完成;关闭账户同步的设置推荐服务。用户可按需选择处理。

Win10更新后变卡,关闭更新恢复系统流畅度
系统平台 · 2026-06-03

Win10更新后变卡,关闭更新恢复系统流畅度

电脑刚刚完成Windows 10更新,却感觉运行变得迟钝?鼠标拖拽不顺畅,程序启动缓慢,风扇持续高速运转——这是不少用户都曾遇到的困扰。别急着认定是硬件老化,问题很可能就出在本次更新上。新补丁有时会引发驱动兼容性问题,或意外激活某些非必要的后台服务,导致系统资源被悄悄消耗。 不必担心,以下方法能帮你

Win11更新导致音频服务消失 修复声卡服务教程
系统平台 · 2026-06-03

Win11更新导致音频服务消失 修复声卡服务教程

Win11系统更新后,任务栏音量图标突然失效,设备管理器中声卡驱动显示正常却没有任何声音输出——如果你正被这个问题困扰,那很可能是系统更新误删了音频服务的核心注册表配置。别担心,这通常不是硬件故障,只需按照以下系统化修复步骤操作,大概率能恢复音频功能。 一、强制重建音频服务注册表与可执行路径 声音消

统信UOS系统管理启动内核并切换旧版本的方法
系统平台 · 2026-06-03

统信UOS系统管理启动内核并切换旧版本的方法

在使用统信UOS系统时,系统更新后新内核与硬件出现兼容性问题并不罕见——例如网卡突然无法连接、显卡渲染出现异常,或是触摸板完全失灵。遇到这种情况不必急着重装系统,多数时候只需手动切换回一个经过验证的旧版内核,问题就能顺利解决。下面这份操作指南将带你一步步完成从排查到永久切换的完整流程。 一、查看当前

Win11系统托盘永久显示关闭自动隐藏技巧
系统平台 · 2026-06-03

Win11系统托盘永久显示关闭自动隐藏技巧

你是否也曾为Windows 11任务栏右下角的系统托盘图标自动隐藏而感到困扰?常用的网络、音量或第三方应用图标总是悄悄“折叠”起来,必须点击那个小箭头才能展开查看。这其实是系统默认的“动态隐藏”策略在起作用,旨在保持任务栏简洁。但如果你和我一样,更希望所有图标一目了然、随时可用,那么彻底关闭这个自动