2010-05-12 156 views
2

我最近接手了一个文件托管站点(类似于rapidshare,megaupload等),目前平均每天约有75,000名访问者。迁移后,我们从头编写了自己的系统。现在是升级基础设施的时候了,并且一直在使用Web服务器和扩展。现在的问题是,文件上传完成后,Web服务器不是“冲洗”用完的内存。我们上传了多个300MB +文件,在上传之前,我们拥有大约3.7G的内存,上传3个300M的文件后,内存使用量达到了1.2G左右。最初,我们认为它可能是apache问题,但升级到Litespeed并没有解决它。这里的“内存使用”从“顶”大文件上传内存问题PHP

纪念品: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。

感谢, 比尔

回答

3

我想通了,它是“高速缓存”,我能够通过这个命令来释放它: 回声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