有没有办法减少OS X 10.6 Snow Leopard的互换性?


10

我的旧Macbook上有6GB容量,带有SSD。我想尽量避免写入交换文件。自升级以来,我一直至少有1到1.5GB的“空闲”内存。但是,我一直有2至25MB的已用交换空间。(总共128MB)除非我的“可用”内存用完了,否则如何将其用作0MB交换?

在Linux上,现在有一个“ swappiness”参数来控制使用交换的趋势。我想降低OS X的“稳定性”,但不能完全取消交换。我想知道,如果我的机器内存不足而不是出现内核崩溃,它将运行得更慢。我离我想去的地方很近,但是我想摆脱对大文件的这些写操作,这会(稍微)缩短我的SSD的寿命,但对我毫无益处。


据了解,您可以按照自己的意愿去做,而您正在寻找这个问题的答案-我不会对此提出异议。但是,我认为必须向不那么精通技术的用户明确这一点很重要:您的系统正在交换的事实(尤其是交换量很小)根本不是问题,不一定是缓慢的原因,甚至是相反。操作系统可以决定不访问某些内存部分,抢先释放RAM中的某些块并获得极不可能的缓存未命中更为有效。OS X在这方面非常擅长(请参阅隐藏应用程序的RAM使用情况)。
MattiSG

Answers:


6

我不确定2MB到25MB的交换文件是否真的值得担心。查看Page In和Page Out的值来确定将数据写入交换的频率可能更有用。可以使用“活动监视器”应用程序的“系统内存”选项卡找到页面事件数。

您可以尝试其他几种选择,但是如果您尝试,我认为您可能超出了保修范围:

我只想建议把了现有的系统,因为在你的SSD的磨损可能是最小特别是因为SSD磨损是有点一个的神话,反正也许它不是


谢谢,但是如果您重新阅读我的问题,您会发现实际上每个文件都有64MB的两个文件。不只是2到25MB。总交换空间为128MB,使用量为2至25MB。我感到烦人的是,总交换空间介于64 MB和128 MB之间。这似乎表明第二个交换文件已被停用,然后重新创建。大量的磁盘使用无济于事。我已经知道您建议的两个系统mod,并表示我不喜欢第一个。第二个,我发现设计不好。
StCredZero

这就是你的答案。禁用动态寻呼机确实可以帮助您,但是当您用完内存时,您确实冒着导致应用程序崩溃的风险。如果实际上内存不足对您来说不是问题,那就不用担心。
达斯汀

第一个链接已死。
kenorb '16

1
我已经修复了断开的链接。...尽管这个答案现在已经有5年了,并且已经有将近6个macOS版本。
Mike Meyers

2

对于临时解决方案,您可以运行sudo purge以强制刷新和清空磁盘缓存,这可能会稍微降低交换性能(如果您在中有多个大交换文件/private/var/vm,例如,在撰写本文时,它们有17G)。如果不起作用,请手动删除文件,然后将重新创建它们。

您还可以禁用动态寻呼机(交换守护程序),因此在终端中运行(需要重新启动):

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

要重新启用:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

不幸的是,在最新的OS X中,您还必须禁用实际上不建议使用的SIP(系统完整性保护)。请参阅:如何在El Capitan的OS X 10.11上禁用“无根”系统完整性保护(SIP)AKA?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.