一例由于一网站cpu占用过高导致服务器cpu占用始终是100%的问题解决

来源:互联网 发布:个性主题下载软件 编辑:程序博客网 时间:2024/05/16 10:50

网站晚上还好点,白天打开一个页面要很长时间。用远程连接到服务器也很慢,连上后,打开任务管理器,发觉某网站的w3wp.exe cpu能占到80%多,整个服务器的cpu基本都是在100%。查看windows 事务日志,及网站日志,并没有发现有什么异常的情况。因为这个服务器是新换的,在原服务器上虽然内存占用很高,一直都是百分之九十多,但CPU很少超过10%的。可以排除是程序代码的问题。

由于原服务器在长时间运行过程中经过了许多设置,有的设置时间久,我已经忘了。知道ddos攻击及cc 攻击可以导致cpu 占用很高的情况。可是,我维护的另一个网站遇到这种情况,装一个安全狗,开开防ddos攻击及cc攻击的开关就没这个问题了。这台服务器安全狗也装了,这两个功能也开开了。可是仍然有cpu占用很高的情况,也不知道该怎么办。但不能什么也不做。于是,我按照我设置服务器安全的印象,对几个地方进行了设置。

一、本地安全策略
输入gpedit.msc打开本地组策略编辑器
 
计算机配置/安全设置/本地策略/安全选项,进行如下设置:
交互式登陆:不显示最后的用户名 启用
网络访问:不允许SAM 帐户和共享的匿名枚举 启用
网络访问: 不允许存储网络身份验证的密码和凭据 启用
网络访问:可远程访问的注册表路径和子路径 全部删除


二、禁用不必要的服务
Print Spooler
Remote Registry


三、本地安全设置
选择计算机配置-->Windows设置-->安全设置-->本地策略-->用户权限分配 
关闭系统:只有Administrators组、其它全部删除。 
拒绝从网络访问这台计算机:加入Guests组、 everyone ,iusr ,asp.net
允许通过远程桌面服务登陆:加入Administrators、Remote Desktop Users组,其他全部删除
允许本地登陆:只保留Administrators

这几个地方设置后,通过观察,cpu占用下来了,大致在20%-30%哪个样子。但这是晚上,做不得准,需要白天观察,才能确定这些设置究竟能起多大作用。

第二天,我隔断时间就上服务器上观察下。通过观察,服务器整体cpu 占用大约在20%-70%之间徘徊,很少超过70%。而且观察占用cpu过高的几个进程。所观察的网站cpu 占用一般是百分之几的样子,最高也就是20% 的占用。 sqlserver CPU占用有时会过高,最高的时候达到45% 的样子。安全狗有时会占到20%,但这种情况很少。 sqlserver 有时占用过高这个可以理解。因为我做过一些设置,限制sqlserver 对内存的占用不能超过1 G。而在原来服务器上,sqlserver对内存的占用是没有限制的。 现在服务器内存的占用稳定在60% 多。看来这个设置起作用了。由于内存有限制,以为sqlserver的缓存比较少,cpu 有时占用过高,可以理解。

看来这次的几个安全设置起作用了。后来又经过几天的观察,一直是这个样子。最终cpu 占用100% 的问题得以解决。

原创粉丝点击