监控安装 ERP

系统集成论坛

 找回密码
 注册通行证

QQ登录

只需一步,快速开始

路由器交换机防火墙系统集成商城 优质产品采购平台
查看: 1347|回复: 0
打印 上一主题 下一主题

cpu占用资源过高的原因及解决方法

[复制链接]
跳转到指定楼层
1
发表于 2012-12-2 11:46:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
华为金牌代理
服务器环境: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文件系统找出原因。

程序中存在过度耗时且不可能完成的操作(还是程序的问题)。

文章由中关村在线商城http://dealer.zol.com.cn/d_74770/提供!
您需要登录后才可以回帖 登录 | 注册通行证

本版积分规则

联系我们| 手机版|系统集成论坛 ( 京ICP备11008917号 )

GMT+8, 2024-9-22 21:21 , Processed in 0.054651 second(s), 24 queries .

系统集成论坛

BBS.XTJC.COM

快速回复 返回顶部 返回列表