2012-11-22 42 views
6

可能重複:
Monitoring Garbage Collector in C#我可以檢測到在.NET中運行垃圾收集的時刻嗎?

我想知道多久垃圾收集在我的C#應用​​程序中運行,這樣我就可以登錄供日後分析的時間戳。

是否有可能在垃圾回收之前或之後發生了一些事件或類似的事件,以便我知道垃圾收集的確切時間?

+4

[GC.RegisterForFullGCNotification(http://msdn.microsoft.com/en-us/library/system.gc.registerforfullgcnotification.aspx) –

+0

我猜猜你正在爲此進行性能監控?也許這會有所幫助:http://msdn.microsoft.com/en-us/library/ee851764.aspx –

+0

這不僅適用於完整的集合嗎? Jeffrey Richter有一段很好的代碼,每當調用Finalize方法時,他都有一個「虛擬」對象創建一個新的「虛擬」實例。由於這個對象是在gen0中創建的,因此您可以捕獲任何集合。 RegisterForFullGCNotification是否也捕獲gen0中的所有對象都被收集並且沒有被提升爲gen1? – igrimpe

回答