php-cgi 68%,php cgi 进程占用太多怎么办
php cgi進程占用太多的解決辦法:1、從“php.ini”中禁止掉eAccelerater模塊;2、借助Linux的proc虛擬文件系統找到具體的問題程序;3、借助Linux的proc文件系統找出原因。
推薦:《PHP視頻教程》
一般情況下,PHP-CGI只在用戶訪問的時候會占用CPU資源,但是最近有同事反映,服務器上的的PHP-CGI進程占用了非常多的CPU,但是訪問流量卻非常少。這顯然是一個不正常的現象,說有些地方存在故障。以下導致此問題可能存在的原因,在此與大家分享。
1. 兼容性問題
如果php的擴展與php版本兼容存在問題,已經有反映過類似的案例, eAccelerater與某些php版本兼容存在問題,具體表現時啟動php-cgi進程后,
運行10多分鐘,奇慢無比,但靜態資源訪問很快,服務器負載也很正常(這說明服務器解析功能的nginx是沒有問題,而是php-cgi進程的問題)。
解決辦法
從php.ini中禁止掉eAccelerater模塊,再重啟php-cgi進程即可。
2. 程序中可能存在死循環
如果程序中存在死循環,則一定導致服務器負載超高(使用top指令查看負載高達100+)。
解決辦法
借助Linux的proc虛擬文件系統找到具體的問題程序。
3. php程序不合理使用session
在查閱的資料中有看到,這個發生在開源微博記事狗程序上,具體表現是有少量php-cgi進程(不超過10個)的cpu使用率達98%以上,
服務器負載在4-8之間,
解決辦法
需要借助Linux的proc文件系統找出原因。
4. 程序中存在過度耗時且不可能完成的操作
如果是這樣的話,是因為程序本身在編寫的時候,就寫的不夠規范。需要與軟件的設計者以及編程工程師共同解決。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的php-cgi 68%,php cgi 进程占用太多怎么办的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是编码器(自编码器是什么)
- 下一篇: 动态规划算法php,php算法学习之动态