Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> php-cgi進程cpu占用資源過高的原因及解決方法

php-cgi進程cpu占用資源過高的原因及解決方法

日期:2017/2/8 10:14:53      編輯:關於服務器

服務器環境:redhat linux 5.5 , nginx , phpfastcgi

在此環境下,一般php-cgi運行是非常穩定的,但也遇到過php-cgi占用太多cpu資源而導致服務器響應過慢,所遇到的php-cgi進程占用cpu資源過多的原因有:

一些php的擴展與php版本兼容存在問題:實踐證明 eAccelerater與某些php版本兼容存在問題,具體表現是啟動php-cgi進程後,運行10多分鐘,奇慢無比,但靜態資源訪問很快,服務器負載也很正常(說明nginx沒有問題,而是php-cgi進程的問題),解決辦法就是從php.ini中禁止掉eAccelerater模塊,再重啟php-cgi進程即可。

程序中可能存在死循環,導致服務器負載超高(使用top指令查看負載高達100+), 需要借助Linux的proc虛擬文件系統找到具體的問題程序。

php程序不合理使用session , 這個發生在開源微博記事狗程序上,具體表現是有少量php-cgi進程(不超過10個)的cpu使用率達98%以上, 服務器負載在4-8之間,這個問題的解決,仍然需要借助Linux的proc文件系統找出原因。

程序中存在過度耗時且不可能完成的操作(還是程序的問題)。


更多相關閱讀《服務器大量php-cgi.exe進程,導致CPU占用100%的解決》
Copyright © Windows教程網 All Rights Reserved