为什么我的Mac宁愿交换而不是清除不活动的内存?


8

为什么我的Mac(运行10.8 Mountain Lion)更愿意交换而不是清除不活动的内存?我知道人们会说Mac OS可以自行管理,但我的MacBook开始更换时,性能会出现严重下降,即使它有超过1.5 GB的闲置内存尚未清除。我的扩展坞中有一个用于清除命令的启动器-这很严重!

活动监视器部分显示内存统计信息

请注意2.21 GB的非活动状态和127.1 MB的交换状态,除非使用purge命令保存我的计算机,否则通过使用我的工作流程中的所有程序,(Photoshop + Illustrator + Dreamweaver + Publisher等)它们将迅速增长。沙滩球的屠杀巨星。


发生“交换”时,两分钟内vm_stat 15显示什么?那时哪些进程正在占用CPU时间?
bmike

PB是什么应用程序?
cajunluke 2012年

您可能永远无法获得令人满意的答案:虚拟内存系统可能很复杂,并且可能表现出难以解释的紧急行为。就是说,有人说10.7在某些情况下存在内存管理问题-10.6的性能是否对您更好?
2012年

此外,Photoshop还提供了许多自定义内存设置。您如何配置它?
2012年

10.6并没有这样做,我希望10.8 dp4也不会。@CajunLuke PB是出版商,我更改了答案
亚历山大-恢复莫妮卡(Monica)

Answers:


10

我最近回答了像您这样的问题,以为如果仍然有问题,我想为您重述要点。

Mac OS X分配和使用RAM的方式与大多数MS Windows版本不同,并且有时会造成混乱。Microsoft最初构建Windows是为了保持尽可能多的可用内存。苹果的内存模型遵循以下准则:空RAM是一种浪费的资源,可以更好地利用它来提高性能。

这是当前RAM使用方式的快速且简单的分类:

  • 有线:​​由操作系统保留和使用的内存
  • 活动:当前正在运行的程序使用的内存
  • 非活动状态:自上次重新启动以来,您先前运行的程序所使用的内存,但此后已退出。大多数人一直重复使用一些程序,并且可以通过退出一个程序然后启动另一个程序来在它们之间进行切换。不是释放内存以使其“空闲”,而是将不活动的程序缓存起来并准备再次运行。系统或程序需要时,部分或全部此内存将与“空闲”内存组合。OS X有时似乎不愿意释放不活动的内存。
  • 空闲:自上次引导以来尚未使用的内存。
  • 已使用:有线,活动和非活动状态的总数。

每次重新启动时,VM统计信息都会重置。

如果您的MacBook能够升级到超过4GB RAM,那么我肯定会购买一对4GB SO-DIMM,总共安装8GB。关于MacBook,要记住的另一点是,典型的笔记本硬盘驱动器比许多台式机硬盘驱动器慢。我用256GB SSD替换了第一代一体式MacBook Pro的硬盘。性能是任何“现代” MacBook Pro所无法比拟的。从硬盘驱动器到SSD的增长比我从4GB的RAM升级到8GB的要明显得多。


我的一个SODIMM引起内核崩溃,所以我能得到的最好的是一个4GB模块= /
Alexander – Reinstate Monica

我仍然不明白为什么在需要时不腾出不活动的内存,从而导致交换。我通过禁用负责交换的自动寻呼机找到了解决方案。
亚历山大–恢复莫妮卡

紧急情况是由SODIMM还是插槽引起的?如果您将RAM棒的插槽切换到另一根,您是否还会感到恐慌?您是否尝试过用另一根棍子替换怀疑的棍子?
TomUnderhill 2012年

插槽;任何涉及它的组合都会导致内核崩溃。我尝试了多个(原始)1GB的棒,以及售后市场的2GB和4GB的棒。
亚历山大–恢复莫妮卡

对于内核恐慌,请考虑一个单独的问题。
Graham Perrin
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.