¿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!