在上周突然我得到我的服务器错误。 我尝试访问我的网站,我得到了503错误。
当我检查top和其他东西,我看到这些:
httpd.conf
var\www\vhosts\example.com\logs\access_log ,没有任何东西看起来像(D)DOS攻击。 我看到正常的服务器请求。 var\log\httpd\access_log没有可疑的东西 var\www\vhosts\example.com\logs\error_log我看到了太多这样的错误:
[Fri Jan 17 10:56:26 2014] [warn] [client 78.180.71.157] mod_fcgid: can't apply process slot for /var/www/cgi-bin/cgi_wrapper/cgi_wrapper \var\log\mysqld_log没有错误 \var\log\error_log没有错误 \var\log\suexec_log没有错误 如何诊断是什么导致我的网站使磁盘IO 100%,平均负载10,非常高的交换,并且服务器不响应请求。 我怎样才能阻止这种情况发生?
当我重新启动mysql和httpd问题解决。 但是,我怎样才能诊断原因
警告mod_fcgid: can't apply process slot for /var/www/cgi-bin/cgi_wrapper/cgi_wrapper意味着Apache耗尽了所有可用资源,无法为客户端提供服务。 客户端将得到一个503错误。
从图表来看,这可能是一个stream量高峰或者一个软件configuration错误导致你的问题。 当内存需求高峰时,服务器内存耗尽,因此它会将I / O高峰交换到磁盘(因此100%I / O),从而导致您的iowait也增加。 一旦所有的资源耗尽或者你的服务器迟缓到Apache的时候,它就会发出这个警告。
重新启动可能只是释放这个内存。 你的回答将是两件事情之一:1)通过实际增加或者通过卸载MySQL(这是一个内存pipe理器)到另一个服务器来增加服务器可用的RAM,或者2)检查你的代码,看看是否有泄漏。