59 votes

Comment obtenir la taille de la mémoire système disponible?

Est-il possible d'obtenir la taille du système de la mémoire disponible dans C#.NET? si oui, comment?

66voto

Hans Passant Points 475940

Utiliser Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory.

Cliquez-droit sur votre projet, Ajouter une Référence, sélectionnez Microsoft.VisualBasic.

28voto

Louis Rhys Points 6199

Cette réponse est fondée sur Hans Passant de l'. La propriété est AvailablePhysicalMemory en fait. et il (et TotalPhysicalMemory et autres) sont les variables d'instance, de sorte qu'il devrait être

new ComputerInfo().AvailablePhysicalMemory

Il travaille en C#, mais je me demande pourquoi cette page est dit que pour C#, "Cette langue n'est pas pris en charge ou pas de code d'exemple est disponible."

20voto

TheEvilPenguin Points 3904

De EggHeadCafe après googler "c# système de mémoire"

Vous devez ajouter une référence à System.Gestion

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:

L'Espace Total = 4033036

Mémoire Physique Totale = 2095172

De Mémoire Virtuelle Totale = 1933904

Disponible De La Mémoire Virtuelle = 116280

2voto

InSane Points 7832

En utilisant les compteurs de performances accessibles via le Système.Diagnostic sera une option.

Reportez-vous http://www.dotnetspider.com/resources/4612-Find-Memory-usage-CPU-usage.aspx

Espérons que cette aide!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X