7. 程序编写不严谨造成死循环等错误
如果上面的问题都不存在Apache依然产生CPU100%的问题的话,通常来说就应该是Web程序自身的问题了,例如死循环等等。这个时候需要在日志中设置HTTP请求的文件及执行的时间,然后查找出执行时间比较长的地址进行分析排查。
日志格式设置如下:
LogFormat "%v %h %l %u %t [%Ts] \"%r\" %>s %b" vhost_common #设置程序执行时间
<VirtualHost xxx.xxx.xx.xx:80>
ServerName xxx.xxx.com
DirectoryIndex index.php index.html index.htm
DocumentRoot "xxx"
# cronolog.exe用于将日志文件进行分割的应用程序,可以在 下载
CustomLog "|bin/cronolog.exe e:/%Y%m%d.log" vhost_common
</VirtualHost>
原文出处: 解决Apache出现的CPU高占用率的问题
作者: Jet Mah from Java堂声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!