[已关闭问题] aspnet_wp.exe占用CPU百分之九十怎么解决?
提问时间: 2007-12-29 20:23
悬赏分:200 提问时间2007/12/29 20:23:25 问题为何被关闭 浏览:782 次

可否请教一个问题,这几天都被这个问题搞疯了。

我的程序修改了一些东西后,打开页面时居然发现aspnet_wp.exe进程占了百分之九十左右的CPU,就我一个人访问,在页面完全打开以后,一直都是这样,在两台电脑上都是这样。不管是IIS还是VS自带的那个服务器,都是这样。

我的程序用了一年都没有碰到过这个问题。这一年来,增加了一些东西,比如缓存管理、日志输出、OLEDB线程池,这三个地方使用了Timer,但经过调试,下了很多断点,好像不是它们的问题。最近为了增加授权功能,使用了很多WMI,还调用了一次Native API来去驱动器序列号,这个的确让程序慢了很多,但是好像也不是它造成了。

后来我用了很多手段,硬是找不到问题所在,请问有什么好方法么?


提问者:大石头 - 初学一级

问题补充:我再次说明一下,页面正常执行,只是慢一点点,而不是很多人所认为的页面处理过程中占CPU。

(6)
先去掉所有的调用,证实页面运行没问题再逐步将调用往上加,每步进行确认,应该可以找到出问题的地方. 可以配合单元测试. 页面的Trace输出(这个可以看到执行步骤的花费时间). Good luck~~~
6个月前   回答者:沙加 - 老鸟四级
确实可以利用Trace
但如果使用WinDbg来排错,更加有效点。
6个月前   回答者:阿不 - 小虾三级
记得哪里有个性能分析来的, 可以细化到一个方法(过程)执行了多少次,占用多少CPU等
6个月前   回答者:G yc {Son of VB} - 小虾三级
菜鸟的选择:dotTrace
6个月前   回答者:deerchao - 大侠五级
vs2005/2008有诊断性能的工具,类似于QATime,能看到call tree,还有资源占用什么的。 再不行就抓档,用windbg分析
6个月前   回答者:Zealot - 菜鸟二级
wmi最好少用,确实很慢
6个月前   回答者:Tony Qu - 菜鸟二级
6个月前   大石头 :
大家说的方法我都试过了。

那是我做的一个组件,就写一个简简单单的网页调用这个组件,网页加载完成,过了一会之后,ASPNet_wp进程就开始吃CPU,然后它照样可以处理各种页面请求,除了慢一点之外没有什么影响。我用过dotTrace了,根本找不到,就算我等上半个小时,dotTrace中也找不到这半个小时的时间,就只有几分钟而已。

我像用windbg,进入那个占用CPU高的线程之后,也看不到调用堆栈。

恳求各位高手指教!如果有可行的方法,即使使用win32汇编调试我也愿意。
6个月前   大石头 :
我再次说明一下,页面正常执行,只是慢一点点,而不是很多人所认为的页面处理过程中占CPU。
6个月前   烟头上的探戈 :
web.config debug=false
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除