MacOS系统通过df命令定位存储满额的具体分区路径

2次阅读

<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命令定位存储满额的具体分区路径

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(用户主目录,尤其是 DownloadsDocumentsDesktop
Applications(大型 App 如 Xcode、VMware 占用数 GB)
Library(特别是 CachesApplication SupportDeveloper
optusr/local(Homebrew 安装的软件包)

text=ZqhQzanResources