php-cgi.exe 太多,如何解决php cgi.exe 太多的问题

php cgi.exe太多的解决办法:首先检查系统盘空间;然后将PHP安装为CGI模式或者ISAPI模式;接着修改程序;最后在web服务器配置中优化fastcgi配置文件参数即可。

0d9f58e7eaa4860a5964b20313f5d8da.png

服务器大量php-cgi.exe进程,导致CPU占用100%的解决

出现该问题一般为程序方面问题,如程序采用fastcgi方式运行PHP,而程序设置的StartProcesses又偏大,如6甚至更大。

解决参考:

1.检查系统盘空间。查看系统临时文件是否过多,MySQL数据库的临时文件默认存到了c:/windows/temp,导致累积了几万甚至上百万的小文件,压垮系统盘。

del *.* 删除所有文件

2.PHP是一种广泛使用的动态脚本语言,不过在IIS中并没有内置对PHP语言的支持,因此如果需要使用PHP,必须自行安装。PHP可以安装为CGI模式或者ISAPI模式,由于ISAPI模式具有更高的性能,因此我建议大家使用ISAPI模式。

3.如能修改程序,建议将程序配置文件中的StartProcesses值缩到2,看是否改善。

4.看是否服务器有问题攻击现象。

windows 2003+IIS6中优化fastcgi配置文件fcgiext.ini,减少 PHP-cgi.exe进程数量和所占内存大小

本来听说fastcgi比isapi好就在服务器中装上了,配置环境为windows 2003+IIS6+fastcgi(FCGI)+PHP5.2.17,经过与很长一段时间观察,发现工作在FastCGI模式下的PHP会占用越来越多的内存,访问量稍微多点php-cgi进程就多了N个,同样情况下能比原来用isapi模式的时候多出几百M,我的服务器内存只有2G伤不起啊。

我在网上搜索了一下,发现还有不少人面临同样的问题。来自PHP官方的一个比较正式的解释是:php-cgi进程并没有内存泄漏,php-cgi会在每个请求结束的时候回收脚本使用的全部内存,但是并不会释放给 操作系统,而是继续持有以应对下一次PHP请求。这样做大概是为了减少内存碎片化或者解决从系统申请内存之后又释放回操作系统所需要的时间不可控问题。可是如果偶然一次PHP请求使用了诸如ftp或者zlib这样的大内存操作,那么将导致一大块系统内存被php-cgi持续占有,不能被利用。

解决这个问题的办法是在web服务器配置中优化fastcgi配置文件参数。

在C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件中可以设定php-cgi进程相关参数,如:[Types]

php = PHP

[PHP]

ExePath=C:\php-5.3.8-nts-Win32-VC9-x86\php-cgi.exe

maxInstances=100

InstanceMaxRequests=10000

EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000

RequestTimeout=600

ActivityTimeout=900

在上面的配置中:ExePath 指定了FastCGI解析程序的路径,

instanceMaxRequests 指定了每个实例可以处理的最大请求数,

maxInstances 指定可以启动的最大实例数目,

EnvironmentVars 创建了一个环境变量 PHP_FCGI_MAX_REQUESTS ,默认值设为10000,

requestTimeout 指定了请求的超时时间为600秒,

activityTimeout 指定了活动会话超时时间为900秒。

一下是建议值:maxInstances=

把这个值改小

建议512M 内存的改maxInstances=50

1G 内存的改maxInstances=80

2G 内存的改maxInstances=140

再修改InstanceMaxRequests=

把这个值改小

建议512M 内存的改InstanceMaxRequests=200

1G 内存的改InstanceMaxRequests=300

2G 内存的改InstanceMaxRequests=500

改完, 重启IIS。

instanceMaxRequests PHP_FCGI_MAX_REQUESTS 这两个参数决定了一个php-cgi进程被创建出来之后,最多接受的PHP请求数,在lighttpd中默认配置是10000。也就是说这个php-cgi进程每接受10000次PHP请求后会终止,释放所有内存,并重新被管理进程启动。如果把它降低,比如改成100,那么php-cgi重启的周期会大大缩短,偶然的高内存操作造成的问题影响时间也会缩短。

maxInstances 这个参数指定可以启动的最大实例数目,即php-cgi.exe进程的数目。如果把它降低,比如改成100,那么在任务管理器的进程中最多只有php-cgi.exe进程,php-cgi.exe所占用的总内存将大大减少。

我现在用的服务器为windows 2003操作系统,4G内存,一个php-cgi.exe程序占用7-25M内存,我把maxInstances值调为300,减少了php-cgi.exe进程的总数量,占用内存也减小了,反应速度比以前快了不少,至少调整到多少,可根据您的站点访问量来决定。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
php官网下载php时,我们会发现有vc6、vc9的区别,这是什么意思呢? VC6是legacy Visual Studio 6 compiler,使用这个版本的编译器编译PHP代码的,使用apache做应用程序服务器,则选择vc6。 VC9是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。使用IIS做应用程序服务器,则选择vc9。 那么,我们注意到,php-5.2.17-nts-Win32-VC6-x86.zip php的解压文件中,有nts和没有nts的区别,这个又是什么意思呢? 这要从php的5.2系列版本说起。从5.2.1版本开始,就有ts和nts的区别,Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全) Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍。 从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是因为Linux/Unix系统是采用多进程的工作方式,而Windows系统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,因为CGI模式建立在多进程的基础之上,而不是多线程。我们在windows上会把PHP配置成以ISAPI的方式来运行,因为ISAPI是多线程的方式,这样就快多了。 但存在一个问题很多常用的PHP扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就会出错,很可能将IIS进程搞崩溃,因此对于IIS来说,CGI模式才是PHP运行的最安全的方式,只不过CGI模式对于每个HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。 为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI解决方案。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。 因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。 根据不同的webserver,也就是应用程序服务器,在处理应用请求的时候,有些是用多线程而非多进程的方式,那么由于线程会牵扯到共享寄存器和内存方面的,所以很容易出错(考虑c语言指针的情况),那么系统就需要时间和资源来处理寄存器中的数据,保证它们的一致性,也就是保证线程安全了。 所以是否使用Thread Safe(线程安全),主要看web server所采用的PHP请求处理方式,如果是多线程处理如IIS的ISAPI方式,那么请选择线程安全,如果是FastCGI那么选择非线程安全。 最终建议:IIS下,使用ISAPI方式运行PHP,就使用Thread Safe(线程安全)的版本,使用FastCGI方式运行PHP,就使用None Thread Safe(NTS,非线程安全)的版本。 注:php5.2没有vc9,php5.3、php5.4没有vc6。呵呵。PHP5.5开始,不支持xp和win2003了,更是vc11了。
天空网络电影系统PHPV1.0(SkyucMovieSystemV1.0) 版权所有:天空网络 http://www.skyuc.com 运行环境:php+smarty+mysql+GD 注意事项: 1.本程序需要php+smarty+mysql+GD运行环境,使用前请先安装好底层系统环境。 2.首次安装会转到安装界面,安装完成后,请删除install文件夹。 3.首页左侧排行榜图片:复制你上传到upload\imgwsf下的图片文件,到upload\small_imgwsf,并修改其大小为85*117像素 4.头部导航FLASH链接是HTML模式的,如需更改为PHP模式,请自行修改flash\menu.fla文件. 5.免费版限制:(仅限制了两处功能,其它功能无限制) a.去掉了防盗链功能,防盗链功能中有服务器智能分流功能,因此免费版也没有智能分流功能. b.授权http://127.0.0.1/webadmin/登陆管理后台,后台网站域名请填写127.0.0.1该域名不在前台显示,不影响网站运行,但只能填写127.0.0.1! 6.根目录做写入权,如果是cgi+IIS模式,要有执行权,最好是7777,安装的时候只是数据库安装,数据安装后需要手工修改include/conn.php文件里面的数据库链接参数(仅修改数据库名,帐号,密码及服务器地址) 发邮件说明: send_mail支持两种发EMAIL的方法, 使用SMTP协议,使用SOCKET发送 使用MAIL函数发送 SMTP协议发送稳定,不需服务器支持,但相对来说速度慢 MAIL函数对服务器要求高,需要服务器支持SMTP服务! 如果是WINDOWS用户,可以安装“逍遥邮”来安装SMTP服务! UNIX可以安装sendmail来完成STMP服务 目录说明:(有些目录有index.htm或index.html空白文件用于防止非法浏览程序文件目录.) DataBackup数据库备分 download软件文件(为减少程序体积,本程序未附带相关软件,请自行放置相应软件) flash程序FLASH文件(1234四个.fla文件是首页右侧flash源码,请自行修改) images默认模板图片 include程序核心 install安装文件(请于安装后删除) js程序头部和底部JS moviebiglist生成大类HTML moviehtml生成页面HTML movielist生成小类HTML netbar网吧管理 Templates模板文件(提供了默认模板的源文件,方便用户修改成其它模板) union下线推广 upload上传图片 user会员中心 webadmin后台管理(可更名) 功能简介: 1.增加收费用户优先播放功能。后台设定免费用户最大上限人数。超过人数系统将禁止免费用户点播。同时给出消息。收费用户不受控制。 2.优化在线统计播放人数功能。采用缓存技术。极大的提高效率。节约服务器资源。 3.影片集数控制功能。添加电影时可选择起始集数和结尾集数,轻松解决影片多集连载问题。 4.HelixServer、Serv-U防盗。可实现多台helixserver、Serv-U服务器在线点播防盗,而一切设置只需后台管理。 5.HelixServer采用端口分流功能,可一台电影服务器架设多个helixserver,在播放电影时会随机选择当时与该点播者链接最快的helixserver服务器,从而极大地提高播放电影速度,减少缓冲频繁问题。 6.后台设定是否开启免费观看及免费播放时间段,如1:00-6:00,每天凌晨一点到早上六点,会员可以免费观看电影,从而使网站即使在深夜也同样是人气十足。后台设定免费观看会员在线人数,如50人,当开放免费观看时,在线人数超过50人,则提示需充值才能观看。 7.积分换点功能,免费会员只需要把推广网址发给网友,当该网友打开推广网址时会提示“此次成功积分1分”或“此IP在24小时内已经积分记录过,此次积分0分”,当会员的积分为36分时,即可自己在会员中心进行积分换点,每36个积分换去1点影币。以往的都是需要被推广的网友注册会员且付款才可以有佣金,那样免费会员的希望太渺茫了,所以此次改为积分换点。 8.清晰的会员点播扣点提示,当计点会员观看或下载影片时,会提示“此次点播扣除X点,在余下24小时内重复点播不扣点”或“重复点播,此次点播不扣点,在余下X时X分内点播不扣点”。这样让会员清晰地了解到自己的消费情况。 9.在线数据库管理,数据库碎片整理,数据清空,数据表删除等实用功能,其中最常用的数据库碎片整理(即数据库优化)功能,可以使得数据库以最小的占用空间,发挥极限功能。 10.智能删除垃圾信息功能,可设定多少天后自动删除系统点播记录和免费会员等信息,减少数据库垃圾信息。同时

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值