IIS应用程序池回收触发器:没有足够的存储空间来完成此操作(Azure App Service) [英] IIS App Pool Recycle triggers: Not enough storage is available to complete this operation (Azure App Service)
问题描述
我正在Azure应用服务上运行ASP.Net网站,每次发生应用程序池回收时,该服务都会挂起.
我已经检查了可用的存储空间,我使用的是50 Gb中的大约5 Gb,所以这应该不是问题.
请参阅下面的堆栈跟踪.有人有主意吗?我已经向Microsoft支持部门询问了此问题,他们无法回答这一问题:-(
最坏的情况下,我可以阻止System.Diagnostics.Eventing.EventProvider.EtwRegister()
呼叫吗?
非常感谢您提供帮助!
Exception message: The pre-application start initialization method Start on type EnvSettings.SettingsProcessor threw an exception with the following error message: The type initializer for 'Microsoft.Web.Hosting.Tracing.AntaresEventProvider' threw an exception..
at System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures)
at System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods)
at System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded)
at System.Web.Compilation.BuildManager.ExecutePreAppStart()
at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
The type initializer for 'Microsoft.Web.Hosting.Tracing.AntaresEventProvider' threw an exception.
at Microsoft.Web.Hosting.Tracing.AntaresEventProvider.EventWriteDWASGenericLog(String LogStatement, String SiteName)
at EnvSettings.SettingsLogger.Trace(String format, Object[] args)
at EnvSettings.SettingsProcessor.Start()
Not enough storage is available to complete this operation
at System.Diagnostics.Eventing.EventProvider.EtwRegister()
at System.Diagnostics.Eventing.EventProvider..ctor(Guid providerGuid)
at Microsoft.Web.Hosting.Tracing.EventProviderVersionTwo..ctor(Guid id)
at Microsoft.Web.Hosting.Tracing.AntaresEventProvider..cctor()
最后,问题的确是句柄数太大而无法为IIS处理.调查指出,Imagprocessor的文件缓存实现( http://imageprocessor.org )导致了此问题./p>
- 您可以在Azure门户的指标"部分查看有多少人处理您的App Service
- 您可以在 https://[your-app-service]中找到详细信息. .scm.azurewebsites.net .转到进程资源管理器->选择w3wp.exe的属性->选择句柄"选项卡
I am running an ASP.Net Website on an Azure App Service which hangs pretty much every time an App Pool Recycle takes place.
I've checked, the available storage, I am using approx 5 out of 50 Gb so that should not be the problem.
See the stacktrace below. Does anyone have an idea? I've asked this question to Microsoft Support, they could not answer this one :-(
Worst case scenario, can I prevent the System.Diagnostics.Eventing.EventProvider.EtwRegister()
call?
Help on this one would be very much appreciated!
Exception message: The pre-application start initialization method Start on type EnvSettings.SettingsProcessor threw an exception with the following error message: The type initializer for 'Microsoft.Web.Hosting.Tracing.AntaresEventProvider' threw an exception..
at System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures)
at System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods)
at System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded)
at System.Web.Compilation.BuildManager.ExecutePreAppStart()
at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException)
The type initializer for 'Microsoft.Web.Hosting.Tracing.AntaresEventProvider' threw an exception.
at Microsoft.Web.Hosting.Tracing.AntaresEventProvider.EventWriteDWASGenericLog(String LogStatement, String SiteName)
at EnvSettings.SettingsLogger.Trace(String format, Object[] args)
at EnvSettings.SettingsProcessor.Start()
Not enough storage is available to complete this operation
at System.Diagnostics.Eventing.EventProvider.EtwRegister()
at System.Diagnostics.Eventing.EventProvider..ctor(Guid providerGuid)
at Microsoft.Web.Hosting.Tracing.EventProviderVersionTwo..ctor(Guid id)
at Microsoft.Web.Hosting.Tracing.AntaresEventProvider..cctor()
At the end the problem indeed was the handle count being too large to handle for IIS. Investigation pointed out that the File Cache implementation of the Imagprocessor (http://imageprocessor.org) was causing this problem.
- You can see how many handles your App Service in the metrics section at your Azure Portal
- You can find the details at https://[your-app-service].scm.azurewebsites.net. Go to Process Explorer -> Select properties of w3wp.exe -> Select Handles Tab
这篇关于IIS应用程序池回收触发器:没有足够的存储空间来完成此操作(Azure App Service)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!