本文介绍了IIS工作进程挂起的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我正面临IIS工作进程挂起问题&手动内存转储显示以下信息。 系统ID 8480 入口点 0x00000000 创建时间 4/9/2012 5:05:20 AM 在用户模式下花费的时间 ; 0天00:01:57.078 在内核模式下花费的时间 0天00:00:03.868 此主题正在尝试制作HttpWebRequest,但是 * not * 似乎是等待远程服务器响应(例如,不是'在线上')。 这些请求中的一个或多个超过了其最大可用连接数。 线程超过可用连接数 HttpRequest URI:http://127.0.0.1/tamino/contractX ServicePoint - ConnectionLimit:20 CurrentConnections:20 ConnectionGroupName:TAN / DotNetTaminoAPI 8.2.1.0/Microsoft Windows NT 6.1.7600.0/.NET v2.0.50727 HttpWebRequest对象是一个环回地址,但连接限制仍然适用于此webrequest对象,因为已定义连接限制(通过在processModel部分中将autoconfig设置为true或者在connectionManagement 部分中添加*条目 .NET调用堆栈 功能 System.Threading.WaitHandle.WaitOneNative (Microsoft.Win32.SafeHandles.SafeWaitHandle,UInt32,Boolean,布尔值) System.Threading.WaitHandle。 WaitOne (Int64,布尔) System.Threading.WaitHandle.WaitOne (Int32,布尔) System.Net.LazyAsyncResult.WaitForCompletion (布尔) System.Net.Connection.SubmitRequest (System.Net.HttpWebRequest) System.Net.ServicePoint.SubmitRequest (System.Net.HttpWebRequest,System.String) System.Net.HttpWebRequest.S ubmitRequest (System.Net.ServicePoint) System.Net.HttpWebRequest.GetRequestStream (System.Net.TransportContext ByRef) System.Net.HttpWebRequest.GetRequestStream () SoftwareAG.Tamino.Api.Http.TaminoHttpPostRequest..ctor (System.String,Int32) SoftwareAG.Tamino.Api.Common.Command.DoHttpPostRequest () SoftwareAG.Tamino.Api。 Common.Command.DoRequest () SoftwareAG.Tamino.Api.Common.Command.Execute () SoftwareAG.Tamino.Api .TaminoConnection.Diagnose (System.String) SoftwareAG.Tamino.Api.TaminoConnection.GetDbVersion () SoftwareAG.Tamino.Api.TaminoConnection.CheckDbVersion () SoftwareAG.Tamino.Api.TaminoConnection..ctor (System.String,SoftwareAG.Tamino.Api.TaminoUserInfo,SoftwareAG.Tamino。 Api.TaminoPreference) SoftwareAG.Tamino。 Api.TaminoConnection..ctor (System.String,SoftwareAG.Tamino.Api.TaminoUserInfo) contractX.DatabaseConnector.TaminoHandlerLib.createConnection () contractX.DatabaseConnector.TaminoHandlerLib ..ctor (System.String,System.String,System.String,System.String) contractX.DatabaseConnector.TaminoHandlerLibs..ctor (System.Collections.Generic.List`1< system.string>< /system.string> ,布尔值) contractX.DatabaseConnector.DatabaseHandler ..ctor (布尔) contractX.DatabaseConnector.DatabaseHandler..ctor () contractX.Global.Session_Start (System.Object,System.EventArgs) System.Web.SessionState.SessionStateModule.RaiseOnStart (System.EventArgs) System.Web.SessionState.SessionStateModul e.CompleteAcquireState () System.Web.SessionState.SessionStateModule.BeginAcquireState (System.Object,System.EventArgs,System.AsyncCallback,System.Object) System.Web.HttpApplication + AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () System.Web.HttpApplication.ExecuteStep ( IExecutionStep,Boolean ByRef) System.Web .HttpApplication + ApplicationStepManager.ResumeSteps (System.Exception) System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest (System.Web.HttpContext,System.AsyncCallback,System.Object) System.Web.HttpRuntime.ProcessRequestInternal (System.Web.HttpWorkerRequest) System.Web.HttpRuntime.ProcessRequestNoDemand (System.Web.HttpWorkerRequest) System.Web.Hosting.ISAPIRuntime。 ProcessRequest (IntPtr,Int32) 完整回拨堆栈 功能 来源 ntdll!ZwWaitForMultipleObjects + 15 KERNELBASE!WaitForMultipleObjectsEx + 100 kernel32!WaitForMultipleObje ctsExImplementation + e0 mscorwks!WaitForMultipleObjectsEx_SO_TOLERANT + 6f mscorwks!Thread :: DoAppropriateAptStateWait + 3c mscorwks!Thread :: DoAppropriateWaitWorker + 13c mscorwks!Thread :: DoAppropriateWait + 40 mscorwks!WaitHandleNative :: CorWaitOneNative + 156 System.Threading。 WaitHandle.WaitOne(Int64,布尔) System.Threading.WaitHandle.WaitOne(Int32,Boolean) System.Net.LazyAsyncResult.WaitForCompletion(Boolean ) System.Net.Connection.SubmitRequest(System.Net.HttpWebRequest) System.Net.ServicePoint.SubmitRequest(System.Net.HttpWebRequest,System.String) System.Net.HttpWebRequest.SubmitRequest(System.Net.ServicePoint) System.Net.HttpWebRequest.GetRequestStream(System.Net.TransportContext ByRef) System.Net.HttpWebRequest.GetRequestStream() Sy stem.String.FillStringChecked(System.String,Int32,System.String) System.String.TrimEnd(Char []) System.CultureAwareComparer.Equals(System.String,System.String) System.Collections.Specialized.NameValueCollection .Get(System.String) mscorwks!ReflectionInvocation :: ExecuteCodeWithGuaranteedCleanup + 14b 0x14d60560 mscorwks!JIT_Stelem_Ref + 25 System.Web.SessionState.SessionS tateUtility.AddHttpSessionStateToContext(System.Web.HttpContext,System.Web.SessionState.IHttpSessionState) I想知道 DefaultConnectionsLimit设置(20)是否导致问题?在发布时间期间,将有太多tcp连接从数据库端处于等待状态(DB server-Local) ) 问候 Sivaprasad 解决方案 嗨Sivaprasad, 您的问题与IIS论坛更相关。在IIS论坛中发布您的问题以获得正确答案。 http:/ /forums.iis.net/ 问候 Gautam I am facing IIS worker process hang issue & manual memory dump is revealing below information.System ID 8480Entry point 0x00000000Create time 4/9/2012 5:05:20 AMTime spent in user mode 0 Days 00:01:57.078Time spent in kernel mode 0 Days 00:00:03.868This thread is attempting to make an HttpWebRequest, however they do *not* appear to be waiting on the remote server to respond (eg. not 'on the wire').One or more of these requests are exceeding its maximum number of available connections.The thread is exceeding the number of available connectionsHttpRequest URI:http://127.0.0.1/tamino/contractXServicePoint - ConnectionLimit:20 CurrentConnections:20ConnectionGroupName: TAN/DotNetTaminoAPI 8.2.1.0/Microsoft Windows NT 6.1.7600.0/.NET v2.0.50727The HttpWebRequest object is a loopback address but the connection limit still applies to this webrequest object because the connection limit is defined (either through autoconfig set to true in the processModel section or by adding a * entry inside connectionManagement section.NET Call StackFunctionSystem.Threading.WaitHandle.WaitOneNative(Microsoft.Win32.SafeHandles.SafeWaitHandle, UInt32, Boolean, Boolean)System.Threading.WaitHandle.WaitOne(Int64, Boolean)System.Threading.WaitHandle.WaitOne(Int32, Boolean)System.Net.LazyAsyncResult.WaitForCompletion(Boolean)System.Net.Connection.SubmitRequest(System.Net.HttpWebRequest)System.Net.ServicePoint.SubmitRequest(System.Net.HttpWebRequest, System.String)System.Net.HttpWebRequest.SubmitRequest(System.Net.ServicePoint)System.Net.HttpWebRequest.GetRequestStream(System.Net.TransportContext ByRef)System.Net.HttpWebRequest.GetRequestStream()SoftwareAG.Tamino.Api.Http.TaminoHttpPostRequest..ctor(System.String, Int32)SoftwareAG.Tamino.Api.Common.Command.DoHttpPostRequest()SoftwareAG.Tamino.Api.Common.Command.DoRequest()SoftwareAG.Tamino.Api.Common.Command.Execute()SoftwareAG.Tamino.Api.TaminoConnection.Diagnose(System.String)SoftwareAG.Tamino.Api.TaminoConnection.GetDbVersion()SoftwareAG.Tamino.Api.TaminoConnection.CheckDbVersion()SoftwareAG.Tamino.Api.TaminoConnection..ctor(System.String, SoftwareAG.Tamino.Api.TaminoUserInfo, SoftwareAG.Tamino.Api.TaminoPreference)SoftwareAG.Tamino.Api.TaminoConnection..ctor(System.String, SoftwareAG.Tamino.Api.TaminoUserInfo)contractX.DatabaseConnector.TaminoHandlerLib.createConnection()contractX.DatabaseConnector.TaminoHandlerLib..ctor(System.String, System.String, System.String, System.String)contractX.DatabaseConnector.TaminoHandlerLibs..ctor(System.Collections.Generic.List`1<system.string></system.string>, Boolean)contractX.DatabaseConnector.DatabaseHandler..ctor(Boolean)contractX.DatabaseConnector.DatabaseHandler..ctor()contractX.Global.Session_Start(System.Object, System.EventArgs)System.Web.SessionState.SessionStateModule.RaiseOnStart(System.EventArgs)System.Web.SessionState.SessionStateModule.CompleteAcquireState()System.Web.SessionState.SessionStateModule.BeginAcquireState(System.Object, System.EventArgs, System.AsyncCallback, System.Object)System.Web.HttpApplication+AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()System.Web.HttpApplication.ExecuteStep(IExecutionStep, Boolean ByRef)System.Web.HttpApplication+ApplicationStepManager.ResumeSteps(System.Exception)System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext, System.AsyncCallback, System.Object)System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest)System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest)System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr, Int32)Full Call StackFunction Sourcentdll!ZwWaitForMultipleObjects+15 KERNELBASE!WaitForMultipleObjectsEx+100 kernel32!WaitForMultipleObjectsExImplementation+e0 mscorwks!WaitForMultipleObjectsEx_SO_TOLERANT+6f mscorwks!Thread::DoAppropriateAptStateWait+3c mscorwks!Thread::DoAppropriateWaitWorker+13c mscorwks!Thread::DoAppropriateWait+40 mscorwks!WaitHandleNative::CorWaitOneNative+156 System.Threading.WaitHandle.WaitOne(Int64, Boolean) System.Threading.WaitHandle.WaitOne(Int32, Boolean) System.Net.LazyAsyncResult.WaitForCompletion(Boolean) System.Net.Connection.SubmitRequest(System.Net.HttpWebRequest) System.Net.ServicePoint.SubmitRequest(System.Net.HttpWebRequest, System.String) System.Net.HttpWebRequest.SubmitRequest(System.Net.ServicePoint) System.Net.HttpWebRequest.GetRequestStream(System.Net.TransportContext ByRef) System.Net.HttpWebRequest.GetRequestStream() System.String.FillStringChecked(System.String, Int32, System.String) System.String.TrimEnd(Char[]) System.CultureAwareComparer.Equals(System.String, System.String) System.Collections.Specialized.NameValueCollection.Get(System.String) mscorwks!ReflectionInvocation::ExecuteCodeWithGuaranteedCleanup+14b 0x14d60560 mscorwks!JIT_Stelem_Ref+25 System.Web.SessionState.SessionStateUtility.AddHttpSessionStateToContext(System.Web.HttpContext, System.Web.SessionState.IHttpSessionState) I want to know whetherDefaultConnectionsLimit setting(20) in ContractX application is causing the issue? Also during the issue time there will be too many tcp connections will be in wait state from database end(DB server-Local)RegardsSivaprasad 解决方案 Hi Sivaprasad,your Question is more related to IIS Forum. post your question in IIS Forum for proper answer.http://forums.iis.net/RegardsGautam 这篇关于IIS工作进程挂起的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云! 08-28 03:33