目前,我正在寻找一种解决方案,允许我在生产环境中监控.NET Windows服务应用程序,并收集内存转储。我想根据一些特定的阈值,随意和应用程序崩溃来收集它们。我知道实现这一目标的各种方法,例如:
某些方法有助于在崩溃期间收集,例如选项#3,而其他方法可以基于性能计数器(例如#1和#2)触发。任何非侵入式调试器都可以帮助我实现收集,但我不确定附加一个是什么性能影响。例如,如果我使用带有-e开关的Procdump来收集未处理异常的内存转储,受监控应用程序的开销是多少?请记住,我指的是生产环境。
如果我能指出一个源或方法来解释附加非侵入式调试器对内存转储收集的性能影响,我将不胜感激。理想情况下,这是一个量化指标,虽然它超出了我的预期。
P.S:我不是指将内存转储写入磁盘所需的时间,应用程序完全冻结。那是另一回事。