2

嗨,我正在运行一个 VPS(1GB 内存),上面有一个具有以下规格的客户端站点:

  • Wordpress(无缓存插件)
  • Timthumb 图片调整大小脚本 (http://timthumb.googlecode.com/svn/trunk/timthumb.php)
  • 电子商务的 Shopp 插件(具有缓存系统)

Php.ini 内存限制设置为每个脚本最大 64M

重新启动 apache 后,我有大约 500M 的可用内存。仅在随机浏览器中访问此客户端的站点后,内存下降了 150-200M !

我试图找出漏洞,但我可能会忽略明显的遮阳篷,请告知:-)

4

2 回答 2

3

我假设您使用的是 Linux VPS,所以……您如何看待“免费”内存?在您的普通 Linux 系统中,有几种不同的衡量标准。例如,从我的 Linux 机器中,我得到:

marc@panic:~$ free
             total       used       free     shared    buffers     cached
Mem:       2058188    1596532     461656          0     778404     604752
-/+ buffers/cache:     213376    1844812
Swap:      1052248          0    1052248

在第一行中,看起来 1.5gig 正在使用中,而 500meg 以下是免费的(在 2gig 盒子上)。但是,这些总数包括用于磁盘缓存的内存,这是第二行。从计数中删除缓存缓冲区后,运行进程仅使用 213meg 内存,并且 1.8gig 是空闲的。

于 2011-02-19T21:08:09.583 回答
0

启动 apache 后,闲置的各种 php 进程只占用 10MB 左右的内存。php 进程的数量取决于您有多少服务器/子进程。

当您访问您的站点时,PHP 正在执行,并且 increse 是内存大小。通常,您最终会得到一个大约 50-60 MB 的 PHP 进程。

在你的 shell 中验证类型

ps -ylC apache2

并查看 RSS 栏。用你的 http 服务器的进程名替换 apache2

在重新开始并访问您的网站后执行此操作!

于 2011-02-19T17:51:38.280 回答