我使用性能計數器監視我的.NET應用程序的高內存問題很好的措施。爲了測量.NET記憶,我的印象是,字節數在所有堆性能計數器提供全面的管理內存的使用情況。但根據MSDN,此計數器不包含Gen 0堆大小。爲什麼字節數在所有堆考慮整體託管堆
顯示第1代堆大小,第2代堆大小和大的總和 對象堆大小計數器。該計數器指示垃圾收集堆中以字節分配的當前內存 。
如果一個.NET應用程序在Gen 0中分配了很多內存,那麼在所有堆的#字節中是否也不應該考慮這一點?我知道Gen 0堆的大小有一個單獨的計數器,但Gen 1,Gen 2和LoH也是如此。
您不能在gen 0中分配「巨大的內存」。大分配在大對象堆上進行。這個名字不是巧合。 –
在高內存點進行內存轉儲,並使用WinDbg或分析器對其進行分析。這將告訴你什麼使用所有的內存。 – xxbbcc
對不起,我的意思是大量的分配對於LOH來說不一定很大。對不起我的英語,但我總是努力使用適當的措辭:)我希望已經在我的問題中澄清了它現在 – BKS