2017-04-06 129 views
0

我想以編程方式從內部獲取我的應用程序(Windows,Win7,x64)的內存使用情況。我嘗試使用API​​ GetProcessMemoryInfo(),但我不確定返回的值。如何以編程方式獲取應用程序的內存使用情況

我想得是:

  • 由應用程序使用的總內存(RAM +頁面文件

  • 由應用程序(RAM使用的物理內存總量只有)。

我的目標是通過在應用程序中執行重複性任務並監視/記錄已用內存的演變來跟蹤內存泄漏。

注意:目前我使用PROCESS_MEMORY_COUNTERS::PageFileUsage爲物理(RAM)內存總容量和PROCESS_MEMORY_COUNTERS::WorkingSetSize。我認爲這不是獲得我想要的東西的正確方法。

+0

不認爲這可以有效地發現內存泄漏。這裏可能最有用的是虛擬內存進程使用的大小(來自* VM_COUNTERS *,但當複製到* PROCESS_MEMORY_COUNTERS *時,此成員被刪除) – RbMm

回答

0

我指的是this question並按照建議操作。從PROCESS_MEMORY_COUNTERS_EX::PrivateUsage我得到了相同的值從PROCESS_MEMORY_COUNTERS::PageFileUsage

我假設我在我的問題中使用和描述的解決方案是正確的。

相關問題