【魄爺】 发表于 2015-8-14 09:53:00

|| IIS应用程序池cpu占用率命令iisapp

  iisapp的一些参数
  iisapp -a pid
  可以查出对应的域名
  反之 iisapp -p domain 查pid的语法
iisapp [a/
AppPoolName | /p
AppPoolID]
  参数
/a AppPoolName
  指定特定应用程序池的名称。(可选项)
  /p AppPoolID
  按 ID 号指定应用程序池。(可选项)
  注释
如果未指定应用程序池名或 ID,则 iisapp 列出所有运行应用程序。
  仅当使用 /s 时,
  才可使用 /u 和 /p 命令行选项。必须同时使用 /p 和 /u 才能提供用户密码。
  Iisext.vbs 执行 IIS 管理器中可用的相同操作。可使用任何一种工具管理 IIS 网站。
  发出命令的计算机必须正在运行 Windows XP 或 Windows Server 2003 操作系统。用户必须是命令所影响的计算机上的 Administrators 组成员。
  命令所影响的计算机必须是运行带有 Internet 信息服务 (IIS) 6.0 的 Windows Server 2003 的服务器。
  说明一下:w3wp.exe为IIS里面的应用程序池进程,有几个进程就会有几个w3wp.exe,会发现某个w3wp.exe进程CPU和内存都高得可怕!
  好,那我们来看看具体实践中该如何解决首先是windows2003
  首先打开windows任务管理器--点击查看---选择列--把PID给钩上!!,,
  就可以在进程里面看到PID的选项了
  点击运行--输入CMD--输入iisapp -a---很奇怪,这里显示PID的,是用弹出窗口一个个出现的,不知道别人会不,,反正我就是这样,太不利于查看了!!
注意,希望人BLOG听说第一次运行,会提示没有js支持,点击确定.然后再次运行就可以了.这样就可以看到pid对应的应用程序池,这个我就没测试了!
  这样吧,先再CMD里面输入:cd %systemroot%/system32
然后再输入:cscrIPt.exe (cscript.exe ?)iisapp.vbs -a
CMD窗口显示如下:
W3WP.exe PID: 2488 AppPoolId: AppPool #26
W3WP.exe PID: 3008 AppPoolId: AppPool #2
W3WP.exe PID: 4704 AppPoolId: AppPool #15
W3WP.exe PID: 6388 AppPoolId: AppPool #19
W3WP.exe PID: 6004 AppPoolId: AppPool #8
奇怪的是,我还是弹出了窗口,不过不影响显示!有了这样对于就好办了,!
  再任务管理器里面查看占用CPU和内存过高进程的PID值,就知道是哪一个应用程序池出了问题,就可以查到具体是什么网站有问题了!!!
  相关资料:
  win2000的解决方法
  2000下要怎么办呢?win2000下不大方便,需要将站点的应用程序保护设置为高,默认是中。
  然后打开管理工具 -> 组件管理,组件服务 -- 计算机 -- 我的电脑 -- com+ 应用程序
选择查看 -> 状态查看,就可以看到类似如下的显示:
  名称 运行 PID
IIS-{www.zoubin.com//Root} 是 2544
  ===================================
  1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池
3、到iis中察看该应用程序池对应的网站,就ok了

iisapp -a pid
可以查出对应的域名
反之 iisapp -p domain查pid的
--------------------华丽的分割线----------------
1、 要限制一个站点之CPU使用,必须将该站点设置为独立应用程序池,共用应用程序池是无法限制单个站点之。IIS独立应用程序池,就需要独立之进程,非常消耗内存。独立池越多,就有越多之W3WP进程。对于每个站点均要独立应用程序池之服务器,在一般之普通P43.0 2G内存 之普通服务器上,建议不要超过50个站点,最好30以内,不然服务器压力非常大。在配置上,我一般把资源消耗较大之网站独立一个池,一般普通BBS或者生成HTML之系统大概5个站一个池。普通网站以及一些企业站点均共用一个池。
2、根据wlmmc之经验,在服务器硬件允许之情况下,一般不要限制站点内存使用,这样能够保证网站运行,不会出现用户掉线情况。需要限制某站之最大虚拟内存不要小于64M,不然可能出现一些未知之错误。
3、这些都不是根本解决办法,它之根本问题是网站程序有问题,要解决根本问题还要从程序查起。根据本文开头提到之方法查到具体之应用程序池,找到使用此应用程序池之网站,解决网站程序存在之问题,如死循环之类。
4、除了w3wp.exe, 在调用数据库进行大量查询操作之时候,也会大量占用CPU资源,这是难免之(数据库方面之语句及结构优化不在本文讨论范围之内)。个人认为,只要不是CPU长时间占用100%, 一般在75%左右都是正常之。
页: [1]
查看完整版本: || IIS应用程序池cpu占用率命令iisapp