将交换的数据移至 Mac 上的内存?

将交换的数据移至 Mac 上的内存?

我想将交换的内容移到我的 RAM。我目前有6800/16384MBRAM 和241/1024MB已使用的交换空间。

在 Linux 中,可以执行此命令来禁用和启用交换,以强制将交换的内容移动到 RAM:

swapoff -a && swapon -a

OS X 中缺少这些命令。我该如何实现相同的行为?我正在运行 OS X 10.11 (El Capitain)。

答案1

文章如何在 Mac OS X 中启用/禁用交换说:

要禁用交换(寻呼机守护程序),请在终端中运行以下命令:

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

相关内容