在ServiceFabric应用程序中使用TraceEventSession会引起资源不足错误 [英] TraceEventSession usage in ServiceFabric application raises insufficient resource error

查看:113
本文介绍了在ServiceFabric应用程序中使用TraceEventSession会引起资源不足错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在群集中运行一个State-full服务结构应用程序..在同一群集中运行约20个State-full服务应用程序.我已经使用TraceEventSession进行关联.我的集群有10个节点.当我部署应用程序时,我可以在Performance Monitor中看到正在运行的TPL会话处于活动状态.当集群中部署的应用程序数量增加时,我开始收到指定的错误

I have a State-full service fabric application running in a cluster.. I have about 20 State-full applications running in the same cluster. i have used TraceEventSession for correlation purposes. My cluster is having 10 nodes. When i deploy an application i am able to see the TPL session running active in Performance Monitor. When the number of application deployed in the cluster increased i started receiving the error specified

系统资源不足,无法完成请求的服务. (来自HRESULT的异常:0x800705AA)

Insufficient system resources exist to complete the requested service. (Exception from HRESULT: 0x800705AA)

System.Runtime.InteropServices.COMException(0x800705AA):不足 存在系统资源来完成请求的服务. (例外 来自HRESULT:0x800705AA) System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo),网址为 Microsoft.Diagnostics.Tracing.Session.TraceEventSession.EnableProvider(Guid providerGuid,TraceEventLevel providerLevel,UInt64 matchAnyKeywords, TraceEventProviderOptions选项)位于 TestApp.Service.Program.Main()在 C:\ Agent_work \ 12 \ s \ TestApp \ TestApp.Service \ Program.cs:line 61

System.Runtime.InteropServices.COMException (0x800705AA): Insufficient system resources exist to complete the requested service. (Exception from HRESULT: 0x800705AA) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at Microsoft.Diagnostics.Tracing.Session.TraceEventSession.EnableProvider(Guid providerGuid, TraceEventLevel providerLevel, UInt64 matchAnyKeywords, TraceEventProviderOptions options) at TestApp.Service.Program.Main() in C:\Agent_work\12\s\TestApp\TestApp.Service\Program.cs:line 61

这是我在program.cs中编写的用于启用tpl会话的代码

this is the code i wrote in program.cs to enable the tpl session

session = new TraceEventSession("TestApp_TplSession");  
session.EnableProvider(TplEtwProviderTraceEventParser.ProviderGuid, TraceEventLevel.Verbose,
                        (ulong)TplEtwProviderTraceEventParser.Keywords.TasksFlowActivityIds);

session.EnableProvider(ServiceEventSource.Current.Name);

我不确定在同一集群中将部署多少个状态全方位服务应用程序.我如何摆脱这个错误?

I am not sure of how many state full service application will be deployed in the same cluster. How will i get rid of this error??

推荐答案

Windows最多可以同时运行64个ETW会话.考虑使用在每个节点上运行的单个无状态应用程序来创建单个会话.

Windows has a limit of 64 ETW sessions that can be running concurrently. Consider using a single stateless app running on every node to create a single session.

这篇关于在ServiceFabric应用程序中使用TraceEventSession会引起资源不足错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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