回答
我今天碰到了同樣的問題,在這裏找到了解決辦法: http://www.itofy.com/linux/cpanel/apc-cache-reset-every-2-hours/
你需要去AccesWHM > Apache Configuration > Piped Log Configuration
和Enable Piped Apache Logs
。
只要APC緩存的生命作爲自己的託管過程中,它可能是你的apache的工人達到其極限MaxConnectionsPerChild他們得到死亡,重生清除它的緩存。這是防止泄漏流程的安全機制。
- mod_php的:MaxConnectionsPerChild
- mod_fcgid或其他的fastcgi:FcgidMaxRequestsPerProcess和PHP_FCGI_MAX_REQUESTS(環境變量,該實例是用於lighttpd的,但它應被視爲到處
php -b
使用) - PHP-FPM :pm.max_requests單獨爲每個池。
如果需要,您可以嘗試設置您使用的是它的「沒關係」值(通常0
)並運行測試用一個簡單的Hello World的PHP腳本安裝,並apachebench ab2 -n 10000 -c 10 http://localhost/hello.php
選項(調整值)看看工作人員的pid是否正在改變。
如果您使用的TTL爲0,APC將在內存不足時清除所有緩存插槽。這是每2小時附加一次。
TTL絕不能設置爲0
只是閱讀說明書,瞭解TTL是如何使用的:從http://pecl.php.net/get/APChttp://www.php.net/manual/en/apc.configuration.php#ini.apc.ttl
使用apc.php,將它複製到Web服務器來檢查內存使用情況。
您必須留出足夠的存儲空間,以便APC在運行幾小時後有20%的空閒空間。定期檢查這一點。 如果您沒有足夠的可用內存,請使用filters選項來防止緩存很少被訪問的文件。
檢查我的回答有 What is causing "Unable to allocate memory for pool" in PHP?
- 1. 啓用APC時的會話問題
- 2. Nodemon不會重新啓動
- 3. 優雅的Apache重新啓動清除APC嗎?
- 4. Google地圖v2有時會在重新啓動應用時重置
- 5. 重新啓動計時器
- 6. 在服務器重新啓動時重置Express.js會話
- 7. ClickOnce更新時,應用程序會重新啓動多次
- 8. 刷新或重新啓動後Feed會丟失所有數據
- 9. 重新啓動後Windows Service不會自動啓動
- 10. 重新啓動設備時,是否會重新啓動監視重要位置更改的iOS應用程序?
- 11. 在重新啓動時重置警報
- 12. 在重新啓動應用程序時重新啓動Android活動
- 13. 永遠不會啓動服務器重新啓動
- 14. Sidekiq重新加載後,長時間運行的作業不會重新啓動
- 15. 如何在重新進入活動時重新啓動CountDownTimer
- 16. Passenger Standalone在觸及restart.txt時不會重新啓動
- 17. nFast服務重新啓動時不會影響應用程序
- 18. 重新啓動線程時,它會停止
- 19. Raspberry Pi在重新啓動時不會終止SSH連接
- 20. iPhone:NSHTTPCookie不會在應用程序重新啓動時保存
- 21. 在iPhone中使用警報視圖時會話重新啓動?
- 22. 模擬器在重新啓動時需要重新啓動(react-native run-ios)
- 23. React Native iOS應用程序在重新啓動時重新啓動
- 24. 在重新啓動
- 25. 重新啓動WebDev.WebServer
- 26. 重新啓動Chromecast
- 27. 重新啓動Flip.js
- 28. 重新啓動CABasicAnimation
- 29. 防止在手機啓動時重新啓動活動?
- 30. 當系統重新啓動時自動啓動星號
好的,更改MaxConnectionsPerChild和評論後,謝謝 – 2012-07-30 20:02:36
惠特MaxConnectionsPerChild = 0,相同的行爲 – 2012-07-30 21:16:11