我在4G内存服务器上安装了Apache +Mysql+ PHP,每天提供大约20000次访问。下图显示了一天的内存利用率。如图所示:空闲内存低(例如155 M),缓存内存高(例如g2G)。此服务器从未使用交换内存。
非常感谢你的帮助。

发布于 2010-02-16 08:10:40
cached内存是VFS使用的磁盘缓存。它会将读取的文件存储在那里,这样它就不必在需要时访问硬盘驱动器,如果某些应用程序需要内存,它将释放一些文件。
你应该问自己的问题是:
如果两个答案都是否定的,那么,你就不需要做任何事情了。即使有些应用程序被交换了一点,也可能是因为已经交换的部分从未被使用过,并且可以安全地存储在交换区上。
这个想法是,只要一切正常工作,不要试图修复它,缓存内存,甚至交换页面是VM操作系统的正常操作。
发布于 2010-02-16 08:10:15
您的问题并不具体,但我将假设运行apache的系统是基于Linux的。缓存内存是内核用于缓存文件的内存。这通常是好事,也是正常的。在您的系统中拥有什么都不做的内存是很愚蠢的,因为它可能会做一些有用的事情,比如加速访问您的文件。
发布于 2010-02-16 08:36:53
如前所述,缓存的内存只是存储在硬盘上的数据的内存(fast)缓冲区。您通常会看到,如果使用的内存(由您的应用程序)增加,缓存的计数将减少。在我看来,这是一个相当正常的图表。
您应该考虑的另一个参数是交换使用,一旦您的系统开始使用交换(这是在磁盘内存上,因此速度慢),这意味着您的系统正在运行次优,这意味着增加物理内存。
实际上,在这种情况下,您的操作系统正在如此高效地使用您的内存(通过将它用作磁盘缓存),那么将所有东西读/写到磁盘上(这很慢)是毫无意义的,而您却有大量内存没有被用于任何事情。
https://serverfault.com/questions/113274
复制相似问题