服务器环境:windows2003 server + apache + mysql + php + iis
服务器硬件:酷睿双核 + 2.5G内存 + 250G硬盘
最近服务器频繁宕机,观察windows任务管理器发现Apache的httpd.exe进程狂吃内存,PF从800M直飙升到2.0G然后宕机。具体表现的现象有如下几点:1.mysqld.exe占用cpu平均高达80%以上。
2.httpd.exe开机后内存占用增加速度飞快。
3.重启后不到5分钟又宕机。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
5.夜间比较稳定,一到白天就频繁宕机。apache当前参数配置如下# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_winnt_module>
ThreadsPerChild 350
MaxRequestsPerChild 5000
Win32DisableAcceptEx
</IfModule>请问我该怎么办才能让服务器稳定下来?
服务器硬件:酷睿双核 + 2.5G内存 + 250G硬盘
最近服务器频繁宕机,观察windows任务管理器发现Apache的httpd.exe进程狂吃内存,PF从800M直飙升到2.0G然后宕机。具体表现的现象有如下几点:1.mysqld.exe占用cpu平均高达80%以上。
2.httpd.exe开机后内存占用增加速度飞快。
3.重启后不到5分钟又宕机。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
5.夜间比较稳定,一到白天就频繁宕机。apache当前参数配置如下# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_winnt_module>
ThreadsPerChild 350
MaxRequestsPerChild 5000
Win32DisableAcceptEx
</IfModule>请问我该怎么办才能让服务器稳定下来?
另外php什么版本的?还有一个可能是访问 ip太多了,你得修改一下你上面的参数 把数值都改小点.
>>> [Wed Mar 21 09:43:43 2012] [notice] Disabled use of AcceptEx() WinSock2 API .Mysql警告
事件 ID ( 100 )的描述(在资源( MySQL )中)无法找到。本地计算机可能没有必要的注册信息或消息 DLL 文件来从远程计算机显示消息。您可能可以使用 /AUXSOURCE= 标识来检索词描述;查看帮助和支持以了解详细信息。下列信息是事件的一部分: Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64Perflib
"TermService" 服务的性能库 "C:\WINDOWS\system32\perfts.dll" 的配置信息 同在注册表中保存的受信任性能库信息不匹 配。此库中的函数不会作为受信任函数处理。有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。TermServDevices
跟后台打印程序系统服务通讯时出现错误。请打开服务管理单元,确认后台打印程序服务是否在运行。有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。Service Control Ma
下列引导或系统启动驱动程序无法加载:
BC
W3SVC
应用程序池 'DefaultAppPool' 的 IdleTimeout '20' 大于 PeriodicRestartTime '15'。将使用默认值( IdleTimeout = '10' & PeriodicRestartTime '60' )。有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。
我以前也碰过你说的问题,不过一样的没有找到最根本的解决方法,只能够去修改ThreadsPerChild 350
MaxRequestsPerChild 5000的数量来让apache 自动在达到一定的数量时产生一个新的进程.忘记是不是这样描述了。访问的数量多不多可以在网站加个统计链接,看看是不是流量过大,如果是的话 我还是建议将
apache php mysql 部署到linux上吧, win下的apache 真的是很无奈...
另外一个你或者可以考虑换成nginx 不过这个早期版本我测试的时候比apache还不稳定...
如果非要windows 那还是上iis+php+mysql 吧.
MaxRequestsPerChild 300看看什么情况.
我也遇到过这种情况。
怎么都解决不了。
当时一直以为服务器被劫持。就重做了系统。可是情况依然。
之后就一遍一遍的检查源码
是的。别人植入 代码,一直向外发包。之后。。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
(隔一会就好了)
应该是重启了
内存忽上忽下是因为释放了进程 然后又创建后的样子,hold不住是因为程序崩溃了 限制不住,哈哈 以前也是这样...悲剧。后来我果断换成Linux,天下无忧了.