禁用Mac交换文件需先验证swapusage和vm_stat状态,确认无实际换页需求;再执行sudo launchctl unload禁用dynamic_pager服务、sudo rm删除现存swapfile*,最后重启生效;高配用户可配合nvram boot-args="vm_compressor=2"固化禁用Swap。

Mac终端禁用系统交换文件(Swap)需通过停用dynamic_pager服务实现,该操作将阻止系统创建任何swapfile*,但必须确认物理内存充足且已关闭SIP或调整NVRAM权限,否则命令会失败或重启后失效。
确认当前交换状态与内存模式
先验证是否真有必要禁用:打开终端,依次执行以下三条命令。若sysctl vm.swapusage返回used = 0.00M且vm_stat | grep "Pages out"输出中“Pageouts”长期为0,说明系统未实际换页,禁用意义有限。
同时运行sysctl -a vm.compressor_mode查看当前压缩模式——数值为4表示默认启用压缩+Swap;若已是2,则Swap已被逻辑禁用,无需后续操作。
关闭系统完整性保护(SIP)
禁用dynamic_pager服务本身不依赖SIP关闭,但若你计划配合nvram boot-args永久锁定压缩模式(如设为2),则必须先禁用SIP中的NVRAM保护项。否则nvram命令会报错not permitted。
关机→长按电源键进入启动选项→选择“选项”→点击“实用工具”→“终端”→输入csrutil enable --without nvram→回车→输入y确认→重启。
【NVRAM Protections必须显示为disabled,否则boot-args无法写入】
停用动态分页服务并清空现有文件
第一步:在正常系统下打开终端,执行:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
第二步:输入管理员密码(键盘无任何显示,输完直接回车)
第三步:立即删除所有现存交换文件:
sudo rm -f /private/var/vm/swapfile*
第四步:重启Mac。重启后检查sysctl vm.swapusage应返回used = 0.00M,且ls /private/var/vm/不应列出任何swapfile开头的文件。
可选:通过NVRAM固化压缩模式(防重启恢复)
方法一:仅设压缩不启用Swap
终端执行:sudo nvram boot-args="vm_compressor=2" → 重启生效。验证方式:sysctl vm.compressor_mode应输出2。
方法二:增强性能模式(适合M系列芯片主力机)
执行:sudo nvram boot-args="vm_compressor=2 serverperfmode=1" → 重启。此组合强制启用服务器级内存管理策略,进一步抑制Swap触发时机。
注意:若之后需恢复默认,只需在恢复模式终端中执行nvram -d boot-args并重启。

















