How to get the size of available system memory?

拟墨画扇 提交于 2019-11-26 15:44:59

问题


Is it possible to get the size of system available memory in C#.NET? if yes how?


回答1:


Use Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory.

Right-click your project, Add Reference, select Microsoft.VisualBasic.




回答2:


This answer is based on Hans Passant's. The required property is AvailablePhysicalMemory actually. and it (and TotalPhysicalMemory and others) are instance variables, so it should be

new ComputerInfo().AvailablePhysicalMemory

It works in C#, but I wonder why this page says that for C#, "This language is not supported or no code example is available."




回答3:


From EggHeadCafe after googling for 'c# system memory'

You will need to add a reference to System.Management

using System;
using System.Management;

namespace MemInfo
{
    class Program
    {       
        static void Main(string[] args)
        {
            ObjectQuery winQuery = new ObjectQuery("SELECT * FROM Win32_LogicalMemoryConfiguration");

            ManagementObjectSearcher searcher = new ManagementObjectSearcher(winQuery);

            foreach (ManagementObject item in searcher.Get())
            {
                Console.WriteLine("Total Space = " + item["TotalPageFileSpace"]);
                Console.WriteLine("Total Physical Memory = " + item["TotalPhysicalMemory"]);
                Console.WriteLine("Total Virtual Memory = " + item["TotalVirtualMemory"]);
                Console.WriteLine("Available Virtual Memory = " + item["AvailableVirtualMemory"]);
            }
            Console.Read();
        }
    }
}

Output:

Total Space = 4033036

Total Physical Memory = 2095172

Total Virtual Memory = 1933904

Available Virtual Memory = 116280




回答4:


var performance = new System.Diagnostics.PerformanceCounter("Memory", "Available MBytes");
var memory = performance.NextValue();



回答5:


Using the performance counters accessible via System.Diagnostics will be one option.

Refer http://www.dotnetspider.com/resources/4612-Find-Memory-usage-CPU-usage.aspx

Hope this helps!



来源:https://stackoverflow.com/questions/3296211/how-to-get-the-size-of-available-system-memory

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!