我想将交换的内容移到我的 RAM。我目前有6800/16384MB
RAM 和241/1024MB
已使用的交换空间。
在 Linux 中,可以执行此命令来禁用和启用交换,以强制将交换的内容移动到 RAM:
swapoff -a && swapon -a
OS X 中缺少这些命令。我该如何实现相同的行为?我正在运行 OS X 10.11 (El Capitain)。
答案1
要禁用交换(寻呼机守护程序),请在终端中运行以下命令:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
停止寻呼机守护程序后,您可能需要通过以下命令删除交换文件:
sudo rm /private/var/vm/swapfile*
要启用交换,您需要以单一模式启动(启动时按住 [CMD + S])并运行以下命令:
sudo launchctl load /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
答案2
OS X [macOS] 预分配了最多 18 EB 的交换空间,但显然不会全部用完。事实上,它会根据需要随时增加和缩小。
您看到的任何 Swap 数字都只是“近期高潮”标记。如果您在“某个合理时间”内不使用它 [具体数字未知],那么它会逐渐将该 VM 转移回主 RAM。
管理相当复杂 - 远远超出了我的能力范围 - 但最好的建议是让它自己照顾自己。
近年来,这一切变得更加复杂,利用 APFS 的灵活边界,使得 VM 现在有了自己的分区。
答案3
这页,表示你可以使用:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist