¿Cómo obtener el tamaño de la memoria del sistema disponible?

¿Es posible obtener el tamaño del sistema de memoria disponible en C # .NET? Si es así, ¿cómo?

Utilice Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory .

Haga clic con el botón derecho en su proyecto, Agregar referencia, seleccione Microsoft.VisualBasic .

Esta respuesta se basa en la de Hans Passant. La propiedad requerida es Available PhysicalMemory en realidad. y (y TotalPhysicalMemory y otros) son variables de instancia, por lo que debe ser

 new ComputerInfo().AvailablePhysicalMemory 

Funciona en C #, pero me pregunto por qué esta página dice que para C #, “Este idioma no es compatible o no hay ningún ejemplo de código disponible”.

De EggHeadCafe después de googlear para ‘c # memoria del sistema’

Deberá agregar una referencia a 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(); } } } 

Salida:

Espacio total = 4033036

Memoria física total = 2095172

Memoria virtual total = 1933904

Memoria virtual disponible = 116280

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

Usar los contadores de rendimiento accesibles a través de System.Diagnostics será una opción.

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

¡Espero que esto ayude!