PHP-CGI进程占用过多CPU
来源:互联网 发布:red hat linux介绍 编辑:程序博客网 时间:2024/04/26 00:59
一般情况下,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. 程序中存在过度耗时且不可能完成的操作
如果是这样的话,是因为程序本身在编写的时候,就写的不够规范。需要与软件的设计者以及编程工程师共同解决。
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. 程序中存在过度耗时且不可能完成的操作
如果是这样的话,是因为程序本身在编写的时候,就写的不够规范。需要与软件的设计者以及编程工程师共同解决。
阅读全文
0 0
- PHP-CGI进程占用过多CPU
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- php-cgi进程占用cpu资源过多负载高的原因分析及解决步骤
- 服务器php-cgi.exe进程过多,导致CPU占用100%的解决方法
- 怎样在IIS下配置PHP,isapi模式php,解决php-cgi.exe占用CPU过多,甚至100%
- 怎样在IIS下配置PHP,isapi模式php,解决php-cgi.exe占用CPU过多,甚至100%
- 服务器大量php-cgi.exe进程,导致CPU占用100%的解决
- 大量php-cgi.exe进程,导致CPU占用100%的解决
- 服务器大量php-cgi.exe进程,导致CPU占用100%的解决
- 解决w3wp.exe进程占用cpu和内存过多问题
- java进程占用cpu高排查-数据库连接过多
- 解决win7下svchost进程占用过多CPU资源
- php-cgi进程占用cpu资源过大原因分析及解决(找出有问题的linux进程)
- PHP-CGI 进程 CPU 100% 解决办法
- 处理异常:Consider defining a bean of type 'xxx' in your config
- Linux环境下使用V4L2+opencv以MJPEG格式读取USB摄像头并实时显示
- 如何在idea中将tab键设置为按一下代表4个空格
- el-input触发不了@keyup.enter
- Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()解决fang'f
- PHP-CGI进程占用过多CPU
- Android——仿京东淘宝分类页面
- 简单实现RxJava2+Okhttp+Retrofit2的网络请求框架封装
- Http协议讲解
- mybatis批量写入及批量更新
- free 命令
- js获取浏览器高度以及clientHeight、scrollHeight、offsetHeight区别
- linux下mysql Access denied for user 'root'@'localhost' (using password:YES)
- mysql数据-实践-初稿