我该如何防止 OS X看着用于交换文件?
我删除了 MBP 上的交换文件。这非常简单:只需更改默认交换文件位置,这样系统就找不到它了(转到 /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist,更改<string>
该ProgramArguments
部分中的最后一个。)
这实现了我想要的效果。我的交换文件始终为 0mb,因此我可以让 Mac 连续运行数周,而不会出现我讨厌的交换引起的严重速度减慢。
问题是,我怎样才能阻止系统寻找交换文件? 交换永远不会创建,因为 .plist 文件中指定的路径不存在。但系统仍会查找它,这意味着每 10 秒就会有一个后台进程,如下所示:
dynamic_pager: cannot open swap directory /your/fake/directory/here
(com.apple.dynamic_pager[123]) Exited with exit code: 1
(com.apple.dynamic_pager) Throttling respawn: Will restart in 10 seconds
我想阻止这种情况发生,这样我的机器就不会不断地寻找不存在的东西,并安抚我天生的强迫症(据我所知,这并没有使用任何真实的足迹)。
有人知道怎么做吗?!
答案1
如果.plist
文件除了调用该程序外不执行其他任何操作,则可以使用以下命令删除它和/或卸载它
launchctl unload -w com.apple.dynamic_pager
*将其移到其他地方。以防万一。
答案2
根据http://www.willreese.com/?p=29:
禁用:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
sudo rm /private/var/vm/swapfile*
重新启用:
sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
但是,需要明确的是,OS X 中没有“交换进程”。这些命令将禁用和启用分页进程,这将增加可用交换的大小。通过禁用此进程并重新启动,您可以确保交换文件大小始终为 0,从而有效地禁用系统上的交换,因为系统将没有任何可用的交换空间...
答案3
如果你有兴趣调整系统处理交换文件的方式,你可以查看黑客攻击 dynamicpager。这基本上会使 dynamic_pager 进程保持运行,但它可以被破解为不使用任何交换,或仅使用极少量的交换。