银河麒麟系统磁盘空间告急时,需先清空/tmp和/var/tmp(确保无关键服务写入),再按时间清理用户缓存与回收站,最后用systemd-tmpfiles设置自动轮转,并用lsof定位已删未释放空间的进程句柄。

如果您发现银河麒麟系统磁盘空间告急、响应变慢,且确认是/tmp、/var/tmp或用户缓存目录堆积所致,需通过命令行快速释放空间,避免图形界面卡顿或清理工具失效。
直接清空全局临时目录
这一步操作起来很简单,直接执行即可,但【必须确保没有关键服务正在写入/tmp】,否则可能触发进程异常中断。系统会自动跳过被占用的文件,但残留句柄仍占inode,后续需配合lsof排查。
打开终端,输入sudo -i切换到root权限。
执行:rm -rf /tmp/* /var/tmp/*。
运行sync强制刷盘,使空间立即释放。
按时间条件精准清理用户缓存与回收站
盲目清空~/.cache会强制重载浏览器、IDE等应用的全部缓存,导致首次启动明显变慢;而保留近期文件更符合实际使用习惯。
方法一:清理30天前的用户缓存
find ~/.cache -type f -mtime +30 -delete。
方法二:清空回收站全部内容(不可恢复)
rm -rf ~/.local/share/Trash/files/* ~/.local/share/Trash/info/*。
注意:此操作不检查文件是否被打开,【回收站清空后无法通过图形界面还原】。
用systemd-tmpfiles实现自动轮转
这是银河麒麟V10原生支持的长效方案,比cron脚本更轻量、更安全,规则生效后无需额外守护进程。
第一步:确认服务已启用
systemctl is-enabled systemd-tmpfiles-setup.service,返回enabled才可继续。
第二步:创建自定义规则文件
echo 'v /tmp 1777 root root 7d' | sudo tee /etc/tmpfiles.d/kylin-tmp.conf。
第三步:立即执行一次清理并加载规则
sudo systemd-tmpfiles --create。
该规则表示:对/tmp下所有普通文件,若7天内未被访问(atime),则自动删除;目录权限设为1777,确保多用户安全写入。
定位并释放“已删未归还”的磁盘空间
当df -h显示/tmp满载但ls -lSh /tmp | head -5几乎为空时,说明有进程正持有已unlink文件的句柄,空间实际未释放。
运行lsof +L1 /tmp,列出所有标记为deleted的状态行。
对每一行输出的PID,执行kill -15 $PID尝试优雅终止;若僵死,则用kill -9 $PID强制结束。
执行完后立刻运行df -h /tmp,空间应实时回落——这是解决“明明删了却没释放”问题的唯一有效路径。

















