我有兩種方法。我想測試它的性能。在程序運行期間獲取有關RAM的信息
我可以用秒錶得到它的工作時間。但是,如何獲得有關RAM的信息?是否有任何類?
或將我手動從任務管理器得到它?(停止程序+運行TM +持續計劃)
我有兩種方法。我想測試它的性能。在程序運行期間獲取有關RAM的信息
我可以用秒錶得到它的工作時間。但是,如何獲得有關RAM的信息?是否有任何類?
或將我手動從任務管理器得到它?(停止程序+運行TM +持續計劃)
您正在尋找
Process.GetCurrentProcess().WorkingSet64
這是什麼區別,Process.PagedMemorySize64和Process.PrivateMemorySize64(接受的答案和替代建議從http://stackoverflow.com/questions/463595/poll-c-sharp-apps-memory-usage-at-runtime) ? – 2012-03-20 22:38:37
@EricJ:我很尷尬承認我不知道。 – SLaks 2012-03-21 05:33:29
退房喬恩斯基特的類似的主題博客 - http://msmvps.com/blogs/jon_skeet/archive/2011/04/05/of-memory-and-strings.aspx。
基本上使用GC.GetTotalMemory
long before = GC.GetTotalMemory(true);
// do something
long after = GC.GetTotalMemory(true);
Console.WriteLine("Diff:{0}" after - before;);
注意,任務管理器顯示的內存過程是如何分配的,你想看到多少內存CLR被分配在特定點活着的對象。
[Poll C#應用程序在運行時的內存使用情況?]的可能重複(http://stackoverflow.com/questions/463595/poll-c-sharp-apps-memory-usage-at-runtime) – digEmAll 2012-03-20 22:36:24
看看我在之前的評論中發佈的重複。或者你也可以使用內存分析器,它可以爲你提供更多的信息。 – digEmAll 2012-03-20 22:37:59