Debian压缩高内存使用率?

我在Linux / Server环境中很新。 我在vmWare服务器上安装了Debian Squeeze来运行LAMP。 在configurationLAMP并运行之后,我决定检查服务器的内存使用情况,发现它很高。 我不熟悉Linux,所以我认为它是高的可能是错误的。 我注意到Apache和MySQL使用了大量的内存。

我已经发布了内存使用的输出。 也许有人可以看看它,并告诉我,内存使用情况良好或不是,也许给我一些想法,为什么这么高。

你可能想知道的是“如果我的电脑需要它们,可以得到多less可用的RAM?”。 答案是,从您的最高输出:

Mem-Free = 36780k Mem-Buffers = 5456k Swap-Cached = = 360700k 

这是364MB的内存,在你的系统中可用的总共512MB,这是相当不错的。

一个常见的来源混淆是顶部输出中的“Swap:Cached”实际上并不涉及交换空间。 这是用于块caching的RAM空间(“硬盘内容caching”)。

另请参阅我为前雇主写的本教程中的“内存使用情况”。

这是一个很高的内存使用率,这是一件好事! 请参阅linuxatemyram.com

这是正常的,如果您注意到使用量为472308k ,并且360700k被列为caching。 操作系统正在使用这个“免费”的内存作为存储。 如果一个程序进入并请求内存,系统将放弃一些caching的内存到请求程序。 它只是使用可用的内存,当它可以加快某些操作。

所以只要看看Linux内的全部空闲内存有点误导。

至于Apache的使用情况,这也是正常的。 直接从顶部手册页获取信息:

  VIRT -- Virtual Image (kb) The total amount of virtual memory used by the task. It includes all code, data and shared libraries plus pages that have been swapped out. (Note: you can define the STATSIZE=1 environment variable and the VIRT will be calculated from the /proc/#/state VmSize field.) RES -- Resident size (kb) The non-swapped physical memory a task has used. RES = CODE + DATA. 

所以VIRT包含了所有的内存使用情况,在这种情况下,apache进程实际上会有很多共同的代码,库等,这就是为什么他们大约300mb。 RES是当前实际使用的常驻数据集的大小,对于某些进程,系统上的数据大小约为16mb。