我正在查找以获取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