我可以强迫我的Mac更好地利用不活动的内存吗?


15

我使用mysql,它占用了2.5 GB的内存。我检查了活动监视器,发现我有1GB的非活动内存,但是即使只有10MB的活动可用内存也不会改变。有什么方法可以强制使用非活动内存?

Answers:


18

可以将闲置内存视为空闲内存例如为最近关闭的应用程序保留的空闲内存,但是当“真正”的空闲内存用完后,便可以由其他用途使用。如果在新启动的系统上有1 GB的内存(为了使讨论更加容易),请想象该操作系统使用300 MB,然后打开一个使用200 MB的应用程序。现在,您总共有500 MB的已使用空间和500个可用空间。如果关闭正在使用200 MB的应用程序,则内存将标记为非活动状态,现在将有300个已使用(OS),200个处于非活动状态和500个可用空间。如果您打开需要600 MB的应用程序,它将使用可用内存,然后从不活动的池中拉出。

您可以通过打开Terminal.app并键入(不带$)来释放不活动的内存:

 $ purge

您还可以配置MySQL以使用更多的内存,但是如果您没有性能问题,我将不理会所有事情:

有关OS X中非活动内存的更多信息:


谢谢您的回答,但是我的问题是我的系统变慢了,但是没有使用不活动的内存。
AliBZ 2011年

I corrected myself, you can purge inactive memory (whoops!), see the updated reply. Also, it sounds like you have something else going on. Are you running any VMs? Lots of open applications? Are you sure it's a memory issue? Maybe CPU bottleneck? Disk I/O?
Aaron Lake

我正在运行带有大量查询的mysql。我没有任何其他大型应用程序在运行。
AliBZ 2011年

@AliBZ:我的系统真的很慢,但是它不使用不活动的内存:由于CPU的使用,系统也可能很慢。你检查了吗?
Nivas

这是该系统非常好的理论观点,这正是苹果公司所宣称的。但是我和OP具有相同的pb,并且purge冻结了我的系统几秒钟,并且根本不执行任何操作(至少对于不活动的内存pb而言)。是的,即使我应该有1GB以上的可用内存,我的系统也正在交换。
PierreBdR 2012年

0

扩大亚伦的答案:

您的案例可能是MySQL占用过多资源的问题,但是不活动内存就像操作系统的可用内存。Inactive和Free之间的区别在于Inactive是最近使用的,因此,例如,如果您打开iTunes并使用200MB,则当您关闭它时,该程序将关闭,iTunes的内存被标记为Inactive,但除非有需要否则它将保持不变。再次。但是,如果您碰巧要重新打开iTunes,则OS X知道它已经存在并且处于非活动状态,因此将其标记为再次处于活动状态,这比必须从速度较慢的硬盘驱动器重新加载要快。

提供有关您的计算机的更多信息,以帮助查找导致系统“速度慢”的原因。

更新:这是有关Memory和OS X(来自Apple)的更多信息:

http://support.apple.com/kb/ht1342


例如,我在活动监视器中有以下内容:mysqld-> 2.2 GB oovoo-> 190 MB内核-> 150 MB firefox-> 148 MB和其他应用程序。我有26MB的可用内存和1GB的非活动内存,我的系统现在有点慢,但是我的非活动内存没有变化。
AliBZ 2011年

@AliBZ:活动监视器中的“掉期”计数是否在攀升?这是我所知道的最好的指标,即系统确实没有可用的RAM(并且必须将内存内容换出到磁盘上以腾出空间)。请注意,“ Page ins”不是一个有用的指示,因为每次从磁盘启动程序时它们都会爬升(除非它恰好已经处于不活动的RAM中)。
Gordon Davisson
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.