Ist es möglich, die Größe des verfügbaren Systemspeichers in C # .NET abzurufen? wenn ja wie?
Verwenden Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory
.
Klicken Sie mit der rechten Maustaste auf Ihr Projekt, wählen Sie Verweis hinzufügen und dann Microsoft.VisualBasic
.
Diese Antwort basiert auf der von Hans Passant. Die erforderliche Eigenschaft ist eigentlich AvailablePhysicalMemory. und es (und TotalPhysicalMemory und andere) sind Instanzvariablen, so sollte es sein
new ComputerInfo().AvailablePhysicalMemory
Es funktioniert in C #, aber ich frage mich, warum diese Seite sagt, dass für C # "Diese Sprache nicht unterstützt wird oder kein Codebeispiel verfügbar ist."
From EggHeadCafe nach dem googeln nach 'c # system memory'
Sie müssen einen Verweis auf System.Management hinzufügen
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();
}
}
}
Ausgabe:
Gesamter Speicherplatz = 4033036
Gesamter physischer Speicher = 2095172
Virtueller Gesamtspeicher = 1933904
Verfügbarer virtueller Speicher = 116280
var performance = new System.Diagnostics.PerformanceCounter("Memory", "Available MBytes");
var memory = performance.NextValue();
Die Verwendung der über System.Diagnostics zugänglichen Leistungsindikatoren ist eine Option.
Siehe http://www.dotnetspider.com/resources/4612-Find-Memory-usage-CPU-usage.aspx
Hoffe das hilft!