如何在 Mac OS X 中释放内存?

如何在 Mac OS X 中释放内存?

我有一台 Macbook Pro,运行 Mac OS X Leopard (10.5),内存为 4GB。我使用了一些应用程序(Parallels for Windows (1GB RAM)、Firefox、mail、freemind、iTunes、Finder、Terminal 等等),我发现一段时间后内存会完全占满,系统性能会下降。我很好奇

  1. 我如何知道程序在内存中的实际使用情况?我使用活动监视器,但如果我把所有单独的贡献加起来,我永远得不到 4GB RAM。
  2. 如果有些服务正在浪费内存而我不需要,例如谷歌更新等,我该如何停用它们?
  3. 还有其他释放内存的建议吗?

答案1

我如何知道程序在内存中的实际使用情况。我使用活动监视器,但如果我把所有单独的贡献加起来,我永远得不到 4GB RAM

最好不要使用 4GB RAM。如果所有应用程序都使用 4GB RAM,那么系统将非常糟糕全部您的实际内存。系统必须始终有一些可用内存才能顺利运行,虚拟内存分页才能正常工作。如果您的可用内存低于 50 MB,我会担心。

苹果有一个支持文件解释活动监视器中显示的内存使用情况。

我喜欢iStat 菜单用于快速提供我的内存/CPU/网络使用情况的快照。

如果有些服务正在浪费内存,而我不需要,比如谷歌更新等,我该如何停用它们

您可以使用活动监视器查看哪些进程正在使用大量内存,并在那里退出进程。

除非你的页面输出系统内存选项卡下的值与页面插入值,否则会出现过度的磁盘抖动,我不会担心。我认为限制内存使用量的最佳方法(考虑到您正在使用的应用程序集)就是将 Firefox 中打开的选项卡/窗口数量保持在最低限度。4 GB 应该足以在 Mac OS X 中运行该应用程序集。

释放内存的其他建议

坦率地说,我认为除了限制启动的应用程序/启动项的数量之外,你无能为力。

最重要的是确保你有足够的磁盘空间用于虚拟内存分页。X Lab 有一个优秀的文章解释内存使用情况以及如何确定是否有足够的内存。

答案2

问题 3 的答案:使用清除命令强制从内存中释放一些磁盘缓存。这将增加可用的“空闲”内存量。

手册页:

purge(8) BSD 系统管理员手册

NAME purge——强制清除磁盘缓存(刷新并清空)

概要清除

描述 Purge 可用于模拟初始启动条件,使用冷磁盘缓冲区缓存进行性能分析。它不会影响通过 malloc、vm_allocate 等分配的匿名内存。

另请参见 sync(8)、malloc(3)

相关内容