IIS应用程序池回收触发器:没有足够的存储空间来完成此操作(Azure App Service) [英] IIS App Pool Recycle triggers: Not enough storage is available to complete this operation (Azure App Service)

查看:79
本文介绍了IIS应用程序池回收触发器:没有足够的存储空间来完成此操作(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>

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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆