¿Es posible obtener el tamaño del sistema de memoria disponible en C# .NET? Si es así, ¿cómo?¿Cómo obtener el tamaño de la memoria del sistema disponible?
Respuesta
Utilice Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory
.
Haga clic derecho en su proyecto, Agregar referencia, seleccione Microsoft.VisualBasic
.
De EggHeadCafe tras Google para 'C# sistema de memoria'
Usted tendrá que añadir 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
Win32_LogicalMemoryConfiguration no está disponible desde Vista en adelante. Reemplace con CIM_OperatingSystem y use TotalVisibleMemorySize, TotalVirtualMemorySize, etc. en su lugar. El código anterior arroja una excepción en Win7 y probablemente en Vista también. – Canacourse
A continuación del comentario de @ Canacourse, consulte: http://msdn.microsoft.com/en-us/library/aa387937(v=vs.85).aspx para obtener información sobre la clase CIM_OperatingSystem. –
El uso de los contadores de rendimiento accesible 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!
Esta respuesta se basa en la de Hans Passant. La propiedad requerida es Available PhysicalMemory en realidad. y (e TotalPhysicalMemory y otros) son variables de instancia, por lo que debe ser
new ComputerInfo().AvailablePhysicalMemory
Funciona en C#, pero me pregunto por qué this page dice que para C#, "no se admite este idioma o ningún ejemplo de código está disponible "
Porque nadie quería para escribirlo ... – atamanroman
fielding, jaja probablemente! – David
No, porque es parte del espacio de nombres 'My' utilizado en Visual Basic! Not C# - Incluyendo este dll de Visual Basic expondrá estos atajos que tha Son muy agradables en VB.NET. Y las personas que entran en C# después de VB comienzan a perder eso. Buena respuesta +1 – ppumkin
var performance = new System.Diagnostics.PerformanceCounter("Memory", "Available MBytes");
var memory = performance.NextValue();
- 1. Obtener el tamaño de la memoria del sistema operativo Java
- 2. Obtener el tamaño del sistema RAM
- 3. C# obtener el tamaño de la memoria caché del archivo del sistema
- 4. ¿Cómo encontrar el tamaño de la memoria virtual y el tamaño de la memoria caché de un sistema Linux?
- 5. LRU LinkedHashMap que limita el tamaño según la memoria disponible
- 6. ¿Cómo obtener memoria disponible C++/g ++?
- 7. ¿Cómo determino la memoria del dispositivo disponible en OpenCL?
- 8. Obtener el tamaño de bloque del sistema en Java
- 9. ¿Memoria de sistema disponible y usada en Python?
- 10. cómo calcular el tamaño de la memoria apuntada del puntero?
- 11. Obtenga la memoria del sistema total disponible con PHP en Windows
- 12. ¿Cómo obtener la información del sistema con Python?
- 13. ¿Cómo obtener información del sistema en PHP?
- 14. ¿cómo sabe el sistema operativo el tamaño real de la memoria física?
- 15. Consumo total de memoria del sistema
- 16. Determinación de la memoria de video disponible
- 17. ¿Cómo obtener la dirección de memoria del montón de Java?
- 18. Tamaño del bloque del sistema de archivos
- 19. Obtener el tamaño del puntero en C
- 20. Cómo obtener el tamaño del archivo HttpPostedFileBase
- 21. ¿Cómo obtener el tamaño del widget de la aplicación?
- 22. Cómo obtener memoria disponible o utilizada en C#
- 23. Cómo obtener estadísticas del sistema con node.js
- 24. Cómo obtener la configuración regional del sistema y el idioma del sistema en cocoa
- 25. CreateFileMapping, MapViewOfFile, cómo evitar mantener la memoria del sistema
- 26. iOS Foundation: tamaño de fuente del sistema
- 27. ¿Cómo puedo obtener la letra de la unidad del sistema?
- 28. Obtener la hora actual del sistema
- 29. Obtener el tamaño de ZipInputStream
- 30. MySQL NO usando la memoria disponible
¿Puedes llamar esto desde C#? –
Es una clase .NET framework, disponible en cualquier versión desde 2.0. El nombre del espacio de nombres es irrelevante. –
Esa es una mala solución ... :(No debería tener que agregar una referencia a VB para eso ... –