Semua jawaban di sini, termasuk yang diterima, akan memberi Anda jumlah total RAM yang tersedia untuk digunakan. Dan mungkin itulah yang diinginkan OP.
Tetapi jika Anda tertarik untuk mendapatkan jumlah RAM yang terpasang , maka Anda sebaiknya memanggil fungsi GetPhysicallyInstalledSystemMemory .
Dari tautan, di bagian Keterangan:
Fungsi GetPhysicallyInstalledSystemMemory mengambil jumlah RAM yang diinstal secara fisik dari tabel firmware SMBIOS komputer. Ini dapat berbeda dari jumlah yang dilaporkan oleh fungsi GlobalMemoryStatusEx , yang menetapkan anggota ullTotalPhys struktur MEMORYSTATUSEX ke jumlah memori fisik yang tersedia untuk digunakan oleh sistem operasi. Jumlah memori yang tersedia untuk sistem operasi bisa kurang dari jumlah memori yang terpasang secara fisik di komputer karena BIOS dan beberapa driver mungkin menyimpan memori sebagai wilayah I / O untuk perangkat yang dipetakan memori, membuat memori tidak tersedia untuk sistem operasi dan aplikasi.
Kode sampel:
[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.");
}