Tất cả các câu trả lời ở đây, bao gồm cả câu được chấp nhận, sẽ cung cấp cho bạn tổng dung lượng RAM có sẵn để sử dụng. Và đó có thể là những gì OP muốn.
Nhưng nếu bạn quan tâm đến việc nhận được dung lượng RAM đã cài đặt , thì bạn sẽ muốn thực hiện cuộc gọi đến chức năng GetPhysentlyInstalledSystemMemory .
Từ liên kết, trong phần Nhận xét:
Hàm GetPhysallyInstalledSystemMemory truy xuất lượng RAM được cài đặt vật lý từ bảng phần sụn SMBIOS của máy tính. Điều này có thể khác với dung lượng được báo cáo bởi hàm GlobalMemoryStatusEx , hàm này đặt thành viên ullTotalPhys của cấu trúc MEMORYSTATUSEX thành dung lượng bộ nhớ vật lý có sẵn để hệ điều hành sử dụng. Dung lượng bộ nhớ có sẵn cho hệ điều hành có thể ít hơn dung lượng bộ nhớ được cài đặt vật lý trong máy tính vì BIOS và một số trình điều khiển có thể dự trữ bộ nhớ dưới dạng vùng I / O cho các thiết bị được ánh xạ bộ nhớ, làm cho bộ nhớ không khả dụng với hệ điều hành và các ứng dụng.
Mã mẫu:
[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.");
}