2010-05-12 108 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