2

我最近接管了一个文件托管网站(类似于 rapidshare、megaupload 等),目前平均每天有大约 75k 访问者。迁移后,我们从头开始编写自己的系统。现在是升级基础架构的时候了,并且一直在玩弄 Web 服务器和扩展。现在的问题是,文件上传完成后,Web 服务器并没有“刷新”已用完的内存。我们上传了多个 300MB 以上的文件,在上传之前,我们有大约 3.7G 的可用内存,在上传 3 个每个 300M 的文件后,内存使用量约为 1.2G。最初,我们认为这可能是 apache 问题,但升级到 Litespeed 也没有解决它。这是“顶部”的“内存使用情况”

内存:总计 4015996k,已使用 1206036k,空闲 2809960k,114984k 缓冲区

我正在挠头想知道如何“刷新”在上传期间由 Web 服务器或 php 使用的内存,因为这样系统将很快耗尽内存并崩溃。

这是我的 php.ini 值:

max_execution_time = 6000 max_input_time = 6000 memory_limit = 2048M post_max_size = 2047M upload_max_filesize = 2047M

在 Apache 上,php 在 fcgi 和 Litespeed 上运行,它是 Litespeed SAPI。

谢谢,比尔

4

1 回答 1

3

我刚刚发现它是“缓存内存”,我可以通过以下命令释放它:echo 3 > /proc/sys/vm/drop_caches

cat /proc/meminfo

MemTotal:4015996 kB MemFree:2490780 kB 缓冲区:118232 kB 缓存:1204168 kB SwapCached:0 kB 活动:358748 kB 非活动:991220 kB 活动(匿名):28024 kB 非活动(匿名):0 kB 活动(文件):330724 kB (文件):991220 kB Unevictable:0 kB Mlocked:0 kB HighTotal:3179664 kB HighFree:1918528 kB LowTotal:836332 kB LowFree:572252 kB SwapTotal:48827384 kB SwapFree:48827384 kB

于 2010-05-12T19:14:40.943 回答