Est-il possible d'obtenir la taille de la mémoire disponible du système en C # .NET? si oui comment?
Utilisation Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory
.
Cliquez avec le bouton droit sur votre projet, Ajouter une référence, sélectionnez Microsoft.VisualBasic
.
Cette réponse est basée sur celle de Hans Passant. La propriété requise est AvailablePhysicalMemory en fait. et il (et TotalPhysicalMemory et autres) sont des variables d'instance, il devrait donc être
new ComputerInfo().AvailablePhysicalMemory
Cela fonctionne en C #, mais je me demande pourquoi cette page dit que pour C #, "Ce langage n'est pas pris en charge ou aucun exemple de code n'est disponible."
De EggHeadCafe après googler pour 'mémoire système c #'
Vous devrez ajouter une référence à 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();
}
}
}
Sortie:
Espace total = 4033036
Mémoire physique totale = 2095172
Mémoire virtuelle totale = 1933904
Mémoire virtuelle disponible = 116280
var performance = new System.Diagnostics.PerformanceCounter("Memory", "Available MBytes");
var memory = performance.NextValue();
L'utilisation des compteurs de performances accessibles via System.Diagnostics sera une option.
Reportez-vous http://www.dotnetspider.com/resources/4612-Find-Memory-usage-CPU-usage.aspx
J'espère que cela t'aides!