Debian 挤压高内存使用率?

Debian 挤压高内存使用率?

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

我已经发布了内存使用情况。也许有人可以看一下并告诉我内存使用情况是否正常,或者是否可以告诉我为什么内存使用情况这么高。

答案1

您可能想知道的是“我的计算机在需要时可以获得多少可用 RAM?”。答案是,从您的顶部输出来看:

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

您的系统总共有 512MB 的 RAM,其中有 364MB,这已经相当不错了。

一个常见的来源混淆是,顶部输出中的“Swap:Cached”实际上与交换空间完全无关。那是用于块缓存(“硬盘内容缓存”)的 RAM 空间。

另请参阅“内存使用情况”本教程我为我的前任雇主写了这篇文章。

答案2

内存使用率很高,但这是好事!请参阅linuxatemyram.com

答案3

如果您注意到使用情况为472308k并且其中一部分360700k被列为缓存,则这是正常的。操作系统正在使用此“可用”内存作为存储。如果某个程序进入并请求内存,系统将让出部分缓存内存给请求程序。它只是在可以加速某些操作时使用可用内存。

因此,仅仅查看 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。

相关内容