You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么执行rm -rf删除multipassd.log后未释放磁盘空间?

rm 删除日志文件后磁盘空间未释放的核心原因
  • 进程持有文件句柄未释放
    Linux/Unix类系统(包括macOS)的文件删除逻辑是:只有当文件的硬链接计数为0且没有任何运行中的进程打开该文件持有句柄时,文件占用的磁盘块才会真正被系统回收。Multipass的后台守护进程multipassd会持续以写入模式打开multipassd.log日志文件,你直接执行rm multipassd.log只是删除了文件系统里的文件名索引(硬链接),但后台multipassd进程还持有该文件的读写句柄,所以系统不会释放这部分空间。
  • du命令不统计已删除但被进程持有的文件
    du是遍历文件系统的目录树统计所有可见文件的大小,这种已经被删除文件名、仅存在于进程打开句柄中的文件不会被du扫描到,所以你从根目录查也找不到这部分占用,DaisyDisk这类磁盘扫描工具也只会把它归类为无法访问的隐藏空间。

同类问题常规解决参考
  • 找到持有该文件的进程ID:执行lsof | grep multipassd.log,结果中第二列就是对应的multipassd进程ID
  • 释放空间操作:执行sudo multipass stop --all停止所有实例后再重启multipassd服务,或者直接重启系统,进程退出后持有的文件句柄会被释放,磁盘空间就会被系统回收
  • 后续规避方案:如果要清理正在被进程写入的日志,不要直接rm,优先用echo "" > multipassd.log的方式清空文件内容,不会触发句柄占用问题,空间可以直接释放。

内容的提问来源于stack exchange,提问作者GorillazOnPlane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 06:30:00