对于某些错误分析,我想监控GC何时执行收集。
在这篇文章中,我发现有" WaitFor ....()"方法,但这对我来说似乎很难看,因为我必须生成一个线程,它等待gc的整个时间只是为了这样的记录目的:
while (checkForNotify)
{
// Check for a notification of an approaching collection.
GCNotificationStatus s = GC.WaitForFullGCApproach();
//.... log start
s = GC.WaitForFullGCComplete();
/// log complete
}
不是有更好的方法吗?
答案 0 :(得分:1)
如果您正在监控生产服务器上的实际网站,我将不会使用代码库来监控自己!
我会使用PerfMon并监控.Net配置文件下的GC统计信息。
MSDN在这里有一些阅读材料: https://msdn.microsoft.com/en-us/library/ee851764(v=vs.110).aspx