c# - ¿Cómo obtener el tamaño de la memoria del sistema disponible?
.net memory (5)
¿Es posible obtener el tamaño del sistema de memoria disponible en C # .NET? Si es así, ¿cómo?
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
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".
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!
Utilice Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory
.
Haga clic con el botón derecho en su proyecto, Agregar referencia, seleccione Microsoft.VisualBasic
.
var performance = new System.Diagnostics.PerformanceCounter("Memory", "Available MBytes");
var memory = performance.NextValue();