我有一个现有的asp.net应用程序,可以连续工作几个月。
问题
突然,(在新代码发布之后)每天或每两天,CPU开始从100%利用率变为0%,并且每隔几秒就来回。
发生这种情况时,aspnet请求正在排队,执行时间和等待时间大幅增加。
重启WWW Publishing Service“解决”问题(一天左右)。抢先重启服务也有帮助。
我对原因的猜测
由于这是在新版本发布之后开始的,所以我责怪新代码,但我正在寻找可能的线索。我最好的猜测是内存泄漏但是w3wp.exe的内存使用量永远不会超过6.5GB并且有多余的物理内存,我会在会话中存储很多东西。
任何人都可以提供线索吗?
调试IIS是一项艰巨的任务,而且我没有什么经验,所以我希望其他人有类似的问题并且可以提供线索。
更多笔记/线索 在此问题发生时重新启动WWW服务时,停止服务需要很长时间。好两分钟。
答案 0 :(得分:0)
w3wp.exe是IIS的一部分,但实际上并没有做太多工作。 100%的CPU利用率来自该进程内部运行的代码。那是你的代码。
如果你有空闲内存,那么任何内存泄漏都无关紧要。暂时忽略内存泄漏。
您可以在开发计算机上重现此问题吗?如果是这样,那么您需要在应用程序运行时对其进行概要分析,以便找出应用程序花费时间的位置。