请看一下我服务器的 ram 使用情况

use*_*779 1 mysql php memory centos magento

我是服务器的菜鸟。我有一个带有 512mb ram 的 centos5.5 vps。我的目标是让它只托管一个 magento 商店。我已经在没有任何控制面板的服务器上安装了 Magento,只需自己安装灯和安装 Magento 所需的任何 php 扩展。

我一访问我的 magento 商店,突然间 vps 上的 ram 几乎完全用完了,只剩下大约 100mb 了。请查看我本人访问该网站后截取的 htop 截图。

http://img714.imageshack.us/img714/1944/screenouv.png

正如你所看到的,只剩下大约 100mb 了。这是正常的吗?我想知道我是否可能对服务器做了一些愚蠢的事情,使其资源非常匮乏。我从 centos base repo 安装了 apache,从 ius 存储库安装了 php version 5.3,也从 ius repo 安装了 mysql 5.1。除了在 php.ini 中使 memory_minimum 为 256 之外,我没有更改任何这些的默认配置文件。有什么我可以做的让更多的 ram 免费吗?

我一无所知,但我看到每个 Apache 守护程序都在使用 8% 的可用内存,而且 AFAIK 每个访问者都需要一个 Apache 守护程序。所以我会在只有少数游客的情况下用完 ram。谢谢你的建议。

Sve*_*ven 5

我的猜测是你没问题:内存被 Linux 内核的磁盘缓存使用(有关更多详细信息,请参见http://www.linuxatemyram.com/)。

关于 Apache:如果您使用 Apache 的非线程版本(默认情况下),则每个用户都需要一个 Apache 实例,但他只使用很短的时间,同时将单个页面传输给用户。在此之后,apache 进程将处理下一个请求,可能来自不同的用户。这样,您只需使用相对较少的 apache 进程即可处理许多连接。

编辑:免费输出的示例:

             total       used       free     shared    buffers     cached
Mem:           498        434         64          0        194         77
-/+ buffers/cache:        162        336
Swap:         4102          0       4102
Run Code Online (Sandbox Code Playgroud)

列为空闲的 64MB 是未以任何方式使用的内存量。但是(几乎)所有缓冲区/缓存内存都可以在操作系统需要时立即使用,因此潜在的可用内存实际上接近 350MB 而不是 64MB。