Mac Mac 下为何这么吃内存

kewin · 2013年02月04日 · 最后由 lgn21st 回复于 2013年02月04日 · 4454 次阅读

8G 的内存,一般情况下不打开 Xcode,Chrome 的情况下哎只使用 Safari 和 QQ 内存竟然是用了 4G 多,跑个 Xcode 内存马上就上到 6G。 有啥方法可以查看咋用内存较多的程序?htop 在 mac 下的版本貌似有问题看不了

用 activity monitor 看内存... chrome renderer 是内存杀手

在 Mac 下面,主要看的是进程的RSIZE,好像翻译成常驻内存,命令是:

top -o rsize

稍微扯远一点,其实 Mac 下面的应用程序并不比其他系统耗用更多内存,只是它的内存交换策略跟 Linux 稍微不同。Mac 的做法是尽可能占用物理内存,减少物理内存和磁盘的交换,以达到物尽其用的目的。如果你有 8G 内存,随时都有 4G+ 空闲着,你心理爽嘛?

在扯得更远一点,其实从 CPU 里面的 L1=>L2=>L3 cache=>主内存=>磁盘,是上层作为下层的 cache 的。真正应用程序能看到的是保存在磁盘上虚拟地址空间(虚拟内存的磁盘镜像)。操作系统用内存去交换并 cache 虚拟空间中的数据,这里如果主内存空间足够的话,Mac 的做法是尽量多的把虚拟空间中的数据置换到内存中而已。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号