我正在查找以獲取MB中使用的當前數量物理內存。像在任務管理器以兆字節獲取物理內存使用情況
什麼我當前使用PerformanceCounter("Memory", "Available MBytes", true);
但其還包括頁面文件(我相信)這不是我想要的。另外我想要選擇使用而不是可用內存。
我正在使用的應用程序將監視物理內存使用情況,直到達到所需的閾值。然後它會重新啓動一些Windows服務。
如果你對我爲什麼開發這樣的程序感到好奇。我們的一些程序在服務器上存在內存泄漏,我們必須重新啓動Windows服務才能釋放內存,直到我們清理出所有內存泄漏,然後我使這個應用程序幫助保持服務器正常運行,並且響應。
我目前使用'PerformanceCounter ramCounter = new PerformanceCounter(「Memory」,「Available MBytes」,String.Empty,machineName);'但是這並沒有給我使用的物理內存,只有可用的內存。它似乎包括頁面文件,這是我不想要的。 – ZioN
實際上,您需要使用'新的PerformanceCounter(「分頁文件」,「%Usage」,「_Total」,machineName);'而不是檢查可用內存。由於您需要* PF Usage *細節,因此請嘗試使用PerformanceCounter類。 –
是的,我能理解你說的是真的。但是,如果我們在服務器上擁有6GB內存,並且閾值設置爲4.5GB,那麼該怎麼辦?這意味着我必須設置我的應用程序,以檢查何時有1.5GB可用,它不會啓動進程當TM顯示的內存爲4.5GB時,重新啓動Windows服務? – ZioN