如何在使用vb .net的系统中获取空闲内存

3

我在使用 VB .NET 编写的多线程软件时遇到了一些问题,我需要获取不仅是可用的空闲内存(使用 PerformanceCounter 获得),而且还需要缓存和更好地获取系统上的空闲内存。 我该如何做? 非常感谢 :-)


您能否再检查一下您的问题?我不知道您在问什么。您是想要系统规格还是您想要软件正在使用的内存量?您能否展示一些代码呢? - ScarletMerlin
抱歉,我的意思是通过 VB .NET 代码获得 Windows 系统可用的空闲和缓存内存。 - Alessandro
你是在问关于可用的内存空间吗? - Sankar
是的,空闲的 RAM,不可用... - Alessandro
2个回答

3

0

试试这个...

 Public Sub getAvailableRAM()
        Dim CI As New ComputerInfo()
        Dim avl, used As String
        Dim mem As ULong = ULong.Parse(CI.AvailablePhysicalMemory.ToString())
        Dim mem1 As ULong = ULong.Parse(CI.TotalPhysicalMemory.ToString()) - ULong.Parse(CI.AvailablePhysicalMemory.ToString())
        avl = (mem / (1024 * 1024) & " MB").ToString() 'changed + to &
        used = (mem1 / (1024 * 1024) & " MB").ToString() 'changed + to &
    End Sub

要使用ComputerInfo类,您必须导入Imports Microsoft.VisualBasic.Devices

我希望您理解我的代码片段并且FYI:可用的RAM空间是动态变化的。

如果您在此遇到任何困难,请随时询问...


非常感谢,但我需要的是空闲内存而不是可用内存。当空闲内存几乎达到0时,我总是遇到问题,在这种情况下,可用内存仍然有很多空间可以使用... - Alessandro
@Alessandro,请问您能解释一下“自由空间”和“可用空间”之间的区别吗? - Sankar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接