Можно ли получить размер доступной памяти системы на С#.NET? если да, то как?
Как получить размер доступной системной памяти?
Ответ 1
Используйте Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory
.
Щелкните правой кнопкой мыши свой проект, добавьте ссылку, выберите Microsoft.VisualBasic
.
Ответ 2
Этот ответ основан на Хансе Пассанте. Требуемое свойство - AvailablePhysicalMemory. и он (и TotalPhysicalMemory и другие) являются переменными экземпляра, поэтому он должен быть
new ComputerInfo().AvailablePhysicalMemory
Он работает на С#, но мне интересно, почему эта страница говорит, что для С# "Этот язык не поддерживается или не существует кода кода."
Ответ 3
Из EggHeadCafe после googling для 'С# системной памяти'
Вам нужно будет добавить ссылку на 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();
}
}
}
Вывод:
Общая площадь = 4033036
Общая физическая память = 2095172
Общая виртуальная память = 1933904
Доступная виртуальная память = 116280
Ответ 4
Использование счетчиков производительности, доступных через System.Diagnostics, будет одним из вариантов.
Обратитесь http://www.dotnetspider.com/resources/4612-Find-Memory-usage-CPU-usage.aspx
Надеюсь, это поможет!
Ответ 5
var performance = new System.Diagnostics.PerformanceCounter("Memory", "Available MBytes");
var memory = performance.NextValue();