Подтвердить что ты не робот

Как получить размер доступной системной памяти?

Можно ли получить размер доступной памяти системы на С#.NET? если да, то как?

4b9b3361

Ответ 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

Ответ 5

var performance = new System.Diagnostics.PerformanceCounter("Memory", "Available MBytes");
var memory = performance.NextValue();