我正在使用性能敏感的WPF應用程序,並且希望每秒鐘爲我的應用程序註銷一些關鍵的內存使用情況統計信息。我的總體目標是通過確保我的應用程序在運行時不分配(很多)內存來儘可能避免垃圾回收的懲罰。如何在不分配內存的情況下測量.net應用程序的內存使用情況?
關於如何通過性能計數器或當前進程上的VirtualMemorySize64獲取此信息的信息很多。
我的問題是,VS2013探查器告訴我這些調用本身導致大量的內存分配。
剛剛獲得「Private Bytes」性能計數器的RawValue會導致在幾秒鐘內分配近3MB的數據,另有將近3MB分配給VirtualMemorySize64的調用。
是否有更高性能的方式來獲得這些數字?
運行其他進程收集stat信息。 –
這不是一個壞主意,但似乎重量級。你爲什麼不重新創建這個評論作爲答案,以防止它成爲最好的主意,並讓其他人評論? – dbruning