TotalVirtualMemory ne renvoie pas la quantité de mémoire virtuelle sur l'ordinateur. Au contraire, il renvoie l'espace d'adressage virtuel disponible pour le programme.
Cela sera presque toujours de 2 Go, ce qui correspond à la quantité d'espace allouée à un programme d'exploitation par Windows (au moins par win32). Pour plus d'informations sur Virtual Address Space, vous pouvez consulter "Advanced Windows" par Jeffrey Richter, qui va dans beaucoup plus de détails.
Pour obtenir ces informations, vous pouvez ajouter une référence à System.Management.dll et exécuter ce
System.Management.ManagementObject logicalMemory = new
System.Management.ManagementObject("Win32_LogicalMemoryConfiguration.Name=\"LogicalMemoryConfiguration\"");
Console.WriteLine("Total virtual memory: {0}",logicalMemory["TotalVirtualMemory"].ToString());
Sur mon système de travail, cette commande affiche 2809756.
Cet objet prend également en charge ces propriétés
uint32 AvailableVirtualMemory; //in Kb
string Caption;
string Description;
string Name; //NO LONGER SUPPORTED
string SettingID;
uint32 TotalPageFileSpace; //in Kb
uint32 TotalPhysicalMemory; //in Kb
uint32 TotalVirtualMemory; //in Kb
J'espère que cela aide.
Cela fonctionne comme un charme si vous changez "Win32_ComputerSystem" en "Win32_OperatingSystem" comme Martin dit ci-dessous. Merci! –