<p>要准确定位“哪个路径占满空间”,需重点关注实际挂载点如 /System/Volumes/Data(用户数据主分区)、/private/var/folders(缓存)、/private/var/vm(虚拟内存)等,并用 df -h | awk ‘$5 ~ /[89][0-9]%|100%/ {print}’ | sort -k5nr 筛查高占用挂载点,再通过 du -sh * | sort -hr | head -10 在对应路径下逐级定位大目录。</p>

在 macos 中,df 命令能快速查看各挂载分区的磁盘使用情况,但默认输出可能不够直观。要准确定位“哪个路径占满空间”,关键不是只看根目录(/),而是关注实际挂载点及其对应路径,尤其注意 APFS 容器、宗卷(Volume)和隐藏挂载点。
用 df -h 按容量排序,聚焦高使用率挂载点
终端运行:
df -h | awk '$5 ~ /[89][0-9]%|100%/ {print}' | sort -k5nr
这条命令会筛选出使用率 ≥80% 的行,并按百分比倒序排列。重点关注 Mounted on 列的内容,例如:
-
/—— 系统宗卷(如Macintosh HD) -
/System/Volumes/Data—— APFS 中用户数据的实际存放位置(macOS Catalina 及之后版本) -
/Volumes/MyBackup—— 外接硬盘或手动挂载的卷 -
/private/var/folders—— 临时缓存目录(常被 Spotlight 或 App 积累大量文件)
区分系统宗卷与数据宗卷:/ 和 /System/Volumes/Data 是关键
macOS Catalina(10.15)起采用双宗卷结构:
-
/是只读系统宗卷(Macintosh HD - Data实际不挂载在此) - 用户文件、App 数据、缓存、下载等全部落在
/System/Volumes/Data—— 这才是你日常写入的主分区 - 因此若
df显示/使用率低但整机变慢或提示“存储已满”,大概率是/System/Volumes/Data占满了
检查隐藏但高占用的挂载路径
有些路径不会直接出现在常规 df 列表顶部,但可能单独挂载并吃掉大量空间:
-
/private/var/vm:睡眠镜像(sleepimage)和虚拟内存交换文件,大小接近物理内存,可临时禁用以释放空间(不推荐长期关闭) -
/private/var/folders:每个用户独立的缓存目录,常因崩溃日志、xcode 衍生文件、safari 预加载数据膨胀 -
/Library/Caches和~/Library/Caches:虽不属于独立挂载点,但属于/System/Volumes/Data下的子路径,建议配合du -sh *定位大目录
验证具体路径占用:结合 du 定位罪魁祸首
找到高占用挂载点后(如 /System/Volumes/Data),进入该路径逐级排查:
cd /System/Volumes/Data<br>du -sh * | sort -hr | head -10
重点关注:
– Users(用户主目录,尤其是 Downloads、Documents、Desktop)
– Applications(大型 App 如 Xcode、VMware 占用数 GB)
– Library(特别是 Caches、Application Support、Developer)
– opt 或 usr/local(Homebrew 安装的软件包)