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

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

45
задан svick 8 March 2013 в 14:35
поделиться

4 ответа

Используйте Microsoft.VisualBasic.Devices.ComputerInfo.TotalPhysicalMemory .

Щелкните проект правой кнопкой мыши, "Добавить ссылку", выберите Microsoft.VisualBasic .

56
ответ дан 26 November 2019 в 21:01
поделиться

Этот ответ основан на ответе Ганса Пассана. Обязательным свойством на самом деле является AvailablePhysicalMemory. и он (и TotalPhysicalMemory и другие) являются переменными экземпляра, поэтому он должен быть

new ComputerInfo().AvailablePhysicalMemory

Он работает на C #, но мне интересно, почему эта страница говорит, что для C #: «Этот язык не поддерживается или код отсутствует. доступен пример "

26
ответ дан 26 November 2019 в 21:01
поделиться

Из EggHeadCafe после поиска в Google «системная память c #»

Вам нужно будет добавить ссылку на 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

19
ответ дан 26 November 2019 в 21:01
поделиться

Использование счетчиков производительности, доступных через System.Diagnostics, будет одним из вариантов.

См. http://www.dotnetspider.com/resources/4612-Find-Memory-usage-CPU-usage.aspx

Надеюсь, это поможет!

4
ответ дан 26 November 2019 в 21:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: