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

时间:2015-10-12 13:40:55

标签: .net vb.net memory-management out-of-memory

我在vb .net上写的多线程软件遇到了一些问题,我不仅需要获得可用的可用内存(通过PerformanceCounter获得),还需要缓存,更好的是系统上的空闲内存。 我怎么能那样做? 非常感谢: - )

2 个答案:

答案 0 :(得分:2)

您可以从性能计数器“ \ Memory \ Free&零页列表字节”中获取可用内存。

此外,我在https://github.com/stjeong/DotNetSamples/tree/master/WinConsole/MemoryPartOfTaskManagerAndResourceMonitor

上上传了一个示例项目

有了这个,您可以按以下方式获取所有内存信息,

running app view

答案 1 :(得分: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()
        used = (mem1 / (1024 * 1024) + " MB").ToString()
    End Sub

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

我希望您理解我的代码段和仅供参考: - 可用的ram空间会动态更改。

如果您在此方面遇到任何困难,请随意提问......