问题背景

最近使用一款系统,但是经常出现卡顿或者用户账号登录不了系统。后来将问题定位在了服务器中的“w3wp.exe”这个进程。在我们的用户对系统进行查询、修改等操作后,该进程占用大量的CPU以及内存资源,导致服务器运行缓慢,用户也是怨声载道。曾经尝试结束掉这个进程,但是没多久这个进程又“不知廉耻”的占用大量的CPU和内存。我是个懒惰的人,实在难以想象每次都需要到服务器中结束这个进程,所以想个解决办法一劳永逸!

W3wp.exe简介

下面是百度百科上的介绍:

w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。

常见问题

由于我们的服务器空间是刚划分出来的,发布了一个WEB站点,也就三两个用户在使用系统。所以初步断定是由于网站程序引起的。但是依然将常见的问题一一列举出来,以备不测。

  • 网站程序的死循环或大量运算引起进程占用大量系统资源
  • 服务器资源没有自动释放
  • 缓存文件资源引起的程序越来越慢
  • WEB站点访问量大

解决方案

1. 检查WEB站点。结束掉“W3wp.exe”进程,治标不治本,并不能从根本上解决问题。所以我们先要确定网站的应用程序池,查找到对应的网站检查网站程序。事实上如果你发布的WEB站点只有一个,那么就可以省去查找占用系统资源最高的PID进程对应的WEB站点了。但是通常情况下并不是这样的,所以把下面的解决方案贴上来。当然,在运行命令提示符“iisapp -a”的时候,如果系统没有任何提示,在“C:\windows\system32”中检查是否缺少这个脚本。

  • 在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
  • 设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。
  • 根据w3wp取得是哪一个应用程序池。

在任务管理器中点击“查看--选择列”增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid 在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在C:\windows\system32目录下的一个VBS脚本,全名为iisapp.vbs,如果你和我一样,也禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script Host”来执行,就可以得到PID与应用程序池的对应关系。) 到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。

2. 设置CPU监视。在设置CPU监视时,看到网上的许多资料都是IIS6的。所以请先注意下自己IIS的版本。例如我的版本是IIS7。右击WEB站点对应的应用程序池,选择“高级设置”。图示中若设置“已启用处理其关联=true”,那么服务器会在每隔一分钟监视一次CPU。若果超过95%的利用率,那么就会关闭掉“W3wp.exe”进程。完美解决我的问题,但是从网上对IIS7的各种分析来说,服务器监测关闭掉进程后经常不会重新启动新进程,必须手动重启。如果占用内存过多可以在对下面的“回收”进行设置。

3. 清理缓存文件。服务器长时间运行后没有定时清理缓存文件也有可能造成程序运行越来越慢。可以通过打开“c:\windows\temp\”目录,清空里面的缓存文件。或者直接通过cmd命令符”输入“ del c:\windows\temp*.* /s /q”。

W3wp.exe占用CPU及内存资源相关推荐

  1. 解决w3wp.exe占用CPU和内存问题

    在WINDOWS2003+IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢. 可以做以下配置进行改善: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响 ...

  2. w3wp oracle,w3wp.exe占用CPU超过50%的处理

    w3wp.exe占用CPU超过50%的处理 1.查看CPU占用高的进程:任务管理器 C:\Documents and Settings\Administrator>iisapp W3WP.exe ...

  3. win7开机后svchost..exe占用CPU和内存很高的解决方法

    近来,经常发现win7系统开机后反应超慢,经过检查发现占用CPU和内存很高.这种情况要持续十几分钟,之后就正常了. 各种开机项目都禁止了,还是如此.有可以的服务也禁止了,依旧如此.实在搞不明白了,难道 ...

  4. Vmmem进程(WSL)占用CPU或内存资源过高的解决办法

    背景: 有没有一瞬间,在开启docker或打开虚拟机时,内存瞬间飚增,进行查看进程消耗是一个Vmmem的进程在作祟,那么Vmmem是什么呢,又如何进行限制呢! 什么是Vmmem:         Vm ...

  5. win7进程中的svchost.exe占用CPU和内存很高的原因和解决窍门

    最近因为换电脑,刚装上了win7的64bit系统(99%纯净版,这个版本目前还挺流行的),然后就遭遇了一个问题是:电脑开机几次后发现内存占用其高无比,4G内存被吃掉了80%!!!就去百度经验上找经验, ...

  6. services.exe 占用cpu 内存 虚拟内存不足

    郁闷了好几天,终于搞顶了这个问题 症状: 1.系统开机后,N分钟进不了桌面,艰难地打开"任务管理器",发现services.exe占用CPU.内存极高,等了N久,系统提示" ...

  7. ‍w3wp.exe占用内存过高的问题

    今天下午服务器突然不能访问,通知机房重启后恢复.怀疑是网站asp程序的问题.上网查了查: ****                     **** 在IIS6下,经常出现w3wp的内存占用不能及时释 ...

  8. 打开Vscode提示rg.exe占用cpu过高,电脑卡顿

    Vscode更新之后rg.exe占用cpu过高 文件->首选项->搜索"search.followSymlinks"改为false 图片:

  9. php占用服务器内存,php-fpm占用cpu和内存过高100% 解决办法

    今天一位朋友它的服务器php-fpm突然占用cpu和内存过高,它的服务器配置是4核8G内存.可以说还是相当不错的,由于php-fpm占用cpu过高从而导致经常出现"502 Bad gatew ...

最新文章

  1. ioS开发之c语言基础-一维数组,字符数组
  2. .htaccess 禁止IP访问
  3. 开发nagios插件监控/etc/passwd中文件变化
  4. Delphi中DLL或Package窗体载入与显示
  5. java 位运算_java学习之运算符与表达式(四)
  6. Android 长度单位
  7. Qt error: collect2: error: ld returned 1 exit status
  8. mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享
  9. 计算机毕业论文附录的模板,毕业论文附录格式要求
  10. 一次学生时代的经历,利用Python在机房杀红蜘蛛,脱离老师控制!
  11. iOS逆向专栏总目录(持续更新)
  12. 数学基础知识总结 —— 12. 求极限的重要工具「洛必达法则」
  13. 网易公开课 mysql_“网易云课程”SQL分析
  14. 自动登录163邮箱发送邮件(Python+Selenium)
  15. 中国3G蛋糕1.5万亿 10倍三峡工程
  16. android hdmi拔插广播,Android drivers/switch驱动详解(用于通过GPIO状态检测耳机、HDMI等的插拔状态)...
  17. 《调和级数》python
  18. BMapGL实现地图轨迹运动(地图视角不变)
  19. 推荐算法(一)——音乐歌单智能推荐
  20. python对txt文本文件边读边写,同时读取和写入的方式修改文件

热门文章

  1. Qt Creator的配置
  2. C++xor cipher异或密码算法(附完整源码)
  3. C语言实现随机快速排序random quick sort算法(附完整源码)
  4. QT的QSslPreSharedKeyAuthenticator类的使用
  5. C语言90道试题资料
  6. 证书访问_3+证书|高考注册页面可访问,具体流程看这里!
  7. SpringBoot使用JdbcTemplate案例(学习笔记)
  8. Mysql 优化器内部JOIN算法hash join Nestloopjoin及classic hash join CHJ过程详解
  9. java socket通信demo_Java Socket通信示例
  10. java 调用python脚本过程_通过Java调用Python脚本