Усі відповіді тут, включаючи прийняту, дадуть вам загальну кількість оперативної пам’яті, доступної для використання. І це, можливо, було тим, що хотів ОП.
Але якщо ви зацікавлені в тому, щоб отримати обсяг встановленої оперативної пам'яті, тоді вам потрібно буде зателефонувати до функції GetPhysicallyInstalledSystemMemory .
За посиланням, у розділі Зауваження:
Функція GetPhysicallyInstalledSystemMemory отримує обсяг фізично встановленої оперативної пам'яті з таблиць мікропрограми SMBIOS на комп'ютері. Це може відрізнятися від суми, повідомленої функцією GlobalMemoryStatusEx , яка встановлює член ullTotalPhys структури MEMORYSTATUSEX на обсяг фізичної пам'яті, доступний для використання операційною системою. Обсяг пам’яті, доступний операційній системі, може бути меншим, ніж обсяг фізично встановленої в комп’ютері пам’яті, оскільки BIOS і деякі драйвери можуть резервувати пам’ять як регіони вводу-виводу для відображених у пам'яті пристроїв, що робить пам’ять недоступною для операційної системи та додатки.
Зразок коду:
[DllImport("kernel32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetPhysicallyInstalledSystemMemory(out long TotalMemoryInKilobytes);
static void Main()
{
long memKb;
GetPhysicallyInstalledSystemMemory(out memKb);
Console.WriteLine((memKb / 1024 / 1024) + " GB of RAM installed.");
}