Việc kiểm tra thông tin bộ nhớ RAM trên máy tính là thao tác thường xuyên của người dùng Windows, đặc biệt khi cần đánh giá hiệu năng, nâng cấp hoặc xử lý sự cố. Thay vì mở Task Manager hay sử dụng các công cụ đồ hoạ, cách xem RAM bằng PowerShell mang lại độ chính xác cao, tốc độ nhanh và khả năng trích xuất dữ liệu chi tiết mà GUI không thể hiển thị trực tiếp. PowerShell không chỉ cung cấp dung lượng tổng thể mà còn cho biết loại RAM, tốc độ Bus, số khe cắm đã sử dụng và tình trạng sức khoẻ của từng thanh nhớ. Đây là phương pháp được quản trị viên hệ thống và dân IT ưa chuộng nhờ tính linh hoạt và khả năng tích hợp vào script.
PowerShell là gì và tại sao nên dùng để xem thông tin RAM?

PowerShell là một shell dòng lệnh và ngôn ngữ kịch bản mạnh mẽ được tích hợp sẵn trên Windows. Khác với Command Prompt (CMD), PowerShell làm việc với các đối tượng.NET, cho phép truy vấn thông tin hệ thống một cách sâu sắc thông qua các lệnh WMI hoặc CIM. Khi nói đến cách xem RAM bằng PowerShell, người dùng có thể nhận được dữ liệu chính xác đến từng byte, bao gồm cả thông tin về nhà sản xuất và số serial – điều mà các công cụ đồ hoạ thường bỏ qua.
- Tốc độ truy vấn nhanh: PowerShell xử lý lệnh ngay lập tức, không cần tải giao diện.
- Thông tin chi tiết: Cung cấp hàng chục thuộc tính liên quan đến RAM vật lý và ảo.
- Khả năng tự động hoá: Dễ dàng kết hợp vào script để kiểm tra nhiều máy cùng lúc.
- Không phụ thuộc GUI: Hoạt động tốt ngay cả khi Windows gặp sự cố đồ hoạ.
Hướng dẫn từng bước cách xem RAM bằng PowerShell
Để bắt đầu, bạn chỉ cần mở PowerShell với quyền Administrator (không bắt buộc nhưng khuyến khích để đọc đầy đủ thông tin). Nhấn Win + X hoặc gõ “PowerShell” trong Start Menu, chọn “Run as Administrator”. Sau đó, lần lượt thực hiện các lệnh dưới đây tuỳ theo nhu cầu.
1. Xem dung lượng RAM tổng thể và dung lượng khả dụng
Lệnh đơn giản nhất để kiểm tra dung lượng RAM đang dùng và còn trống:
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object TotalVisibleMemorySize, FreePhysicalMemory
Kết quả trả về hai con số tính bằng Kilobyte. Để đổi sang Gigabyte (GB), lấy giá trị chia cho 1.048.576. Ví dụ, nếu TotalVisibleMemorySize là 16777216, tương đương 16 GB.
Mẹo: Nếu muốn đọc trực tiếp bằng GB, sử dụng lệnh sau:
Get-CimInstance Win32_OperatingSystem | ForEach-Object { [math]::Round($_.TotalVisibleMemorySize/1MB,2).ToString() + " GB" }
2. Xem chi tiết từng thanh RAM vật lý
Đây là cách xem RAM bằng PowerShell chi tiết nhất, hiển thị đầy đủ thông số kỹ thuật của từng module nhớ:
Get-CimInstance -ClassName Win32_PhysicalMemory | Format-List Capacity, Speed, Manufacturer, PartNumber, SerialNumber, FormFactor, MemoryType
Capacity – dung lượng mỗi thanh (byte), Speed – tốc độ Bus (MHz), Manufacturer – hãng sản xuất (ví dụ: Kingston, Samsung), PartNumber – mã sản phẩm, SerialNumber – số seri duy nhất. FormFactor cho biết loại (DIMM, SODIMM), MemoryType – thế hệ DDR (0: Unknown, 20: DDR, 21: DDR2, 24: DDR3, 26: DDR4, 34: DDR5).
3. Xem số lượng khe cắm RAM và tình trạng sử dụng
Để biết máy tính có bao nhiêu khe RAM, bao nhiêu khe đã gắn và còn trống:
Get-CimInstance -ClassName Win32_PhysicalMemoryArray | Select-Object MemoryDevices, MemoryErrorCorrection
Giá trị MemoryDevices là tổng số khe. Kết hợp với lệnh trước, đếm số module đang có sẽ biết được số khe trống. Ví dụ: MemoryDevices = 4, trong khi Get-CimInstance Win32_PhysicalMemory trả về 2 module → còn 2 khe trống để nâng cấp.
4. Xem tốc độ RAM đang hoạt động
Lệnh trên đã hiển thị Speed từng thanh, nhưng nếu muốn xem tốc độ thực tế hệ thống đang chạy (có thể thấp hơn do CPU hoặc mainboard giới hạn), dùng thêm:
Get-CimInstance -ClassName Win32_PhysicalMemory | Measure-Object -Property Speed -Average | Select-Object Average
Giá trị Average cho biết tốc độ trung bình, thường là tốc độ bus chung nếu các thanh đồng nhất.
5. Xem thông tin bộ nhớ ảo (Page File)
Không chỉ RAM vật lý, PowerShell còn cho phép kiểm tra bộ nhớ ảo (Virtual Memory):
Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object TotalPhysicalMemory, TotalVirtualMemory, FreeVirtualMemory
So sánh các lệnh xem RAM phổ biến trong PowerShell

| Mục đích | Lệnh (cmdlet) | Kết quả trả về |
|---|---|---|
| Dung lượng tổng + khả dụng | Get-CimInstance Win32_OperatingSystem | TotalVisibleMemorySize, FreePhysicalMemory (KB) |
| Chi tiết từng thanh RAM | Get-CimInstance Win32_PhysicalMemory | Capacity, Speed, Manufacturer, PartNumber… |
| Số khe RAM | Get-CimInstance Win32_PhysicalMemoryArray | MemoryDevices (tổng khe) |
| Tốc độ RAM trung bình | Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property Speed -Average | Average Speed (MHz) |
| Thông tin BIOS về RAM | Get-WmiObject Win32_PhysicalMemory | Tương tự CIM, nhưng dùng WMI (cũ hơn) |
Cách xem RAM bằng PowerShell trên Windows 10, Windows 11
Quy trình hoàn toàn giống nhau trên các phiên bản Windows hiện tại. PowerShell 5.1 (có sẵn trên Windows 10/11) và PowerShell 7.x đều hỗ trợ các lệnh trên. Tuy nhiên, lệnh Get-CimInstance được khuyến nghị thay thế Get-WmiObject vì tính tương thích và hiệu suất tốt hơn. Nếu bạn dùng Windows 7, nên dùng Get-WmiObject vì CIM chưa hoàn chỉnh.
- Windows 10 bản 1909 trở lên: Get-CimInstance hoạt động hoàn hảo.
- Windows 11 mọi bản: Đều hỗ trợ.
- Windows Server 2012 R2 trở lên: Tương tự.
Ứng dụng thực tế của việc kiểm tra RAM bằng PowerShell

Kiểm tra trước khi nâng cấp RAM
Bạn muốn nâng cấp máy tính nhưng không biết mainboard hỗ trợ tối đa bao nhiêu RAM? Dùng lệnh sau để lấy thông tin trực tiếp từ firmware:
Get-CimInstance Win32_PhysicalMemoryArray | Select-Object MaxCapacity, MemoryDevices
MaxCapacity hiển thị dung lượng RAM tối đa mà mainboard hỗ trợ (tính bằng Kilobyte). Kết hợp với số khe cắm, bạn biết được nên mua thanh RAM dung lượng bao nhiêu.
Phát hiện sự cố phần cứng RAM
Nếu máy tính thường xuyên bị lỗi màn hình xanh (BSOD) hoặc treo máy, nghi ngờ RAM lỗi. PowerShell có thể giúp kiểm tra trạng thái sức khoẻ thông qua WMI:
Get-CimInstance -Namespace rootwmi -ClassName MSMemoryDiagnosticResult | Format-List
Lệnh này trả về kết quả của Windows Memory Diagnostic (nếu đã chạy). Nếu muốn chạy chẩn đoán ngay, dùng mdsched.exe từ PowerShell.
Xuất báo cáo RAM ra file
Đối với quản trị viên, việc thu thập thông tin RAM của nhiều máy là cần thiết. Tạo script lưu kết quả vào TXT hoặc CSV:
Get-CimInstance Win32_PhysicalMemory | Select-Object Capacity, Speed, Manufacturer, PartNumber, SerialNumber | Export-Csv -Path D:RAM_Report.csv -NoTypeInformation
File CSV có thể mở bằng Excel để phân tích dễ dàng.
Sai lầm thường gặp khi sử dụng lệnh xem RAM và cách tránh
- Quên chạy PowerShell với quyền Admin: Một số thông tin như SerialNumber, PartNumber sẽ bị ẩn nếu chạy với quyền user thường. Luôn click chuột phải chọn “Run as Administrator”.
- Nhầm lẫn giữa Kilobyte và Gigabyte: Kết quả trả về ở đơn vị byte/KB, dễ gây hiểu lầm. Hãy dùng phép chia hoặc lệnh đổi đơn vị như ví dụ trên.
- Sử dụng lệnh Get-WmiObject thay vì Get-CimInstance: Get-WmiObject bị Microsoft deprecated trên PowerShell 7. Tốt nhất nên dùng CIM để tương thích lâu dài.
- Chỉ xem một thanh RAM nhưng kết luận toàn bộ: Nếu hệ thống có 2 thanh, lệnh Get-CimInstance Win32_PhysicalMemory trả về 2 đối tượng. Cần xử lý mảng đúng cách hoặc dùng Format-List để không bỏ sót.
Lưu ý quan trọng khi xem RAM qua PowerShell

- Một số máy tính đời cũ (OEM) có thể không cung cấp đầy đủ thông tin PartNumber hoặc Manufacturer do firmware hạn chế.
- Thông tin MemoryType của RAM DDR5 trên Windows 10 bản cũ có thể hiển thị sai (34 thành 26). Nên cập nhật Windows hoặc dùng CPU-Z để đối chiếu.
- Không nên sử dụng lệnh Get-Process để đo dung lượng RAM đang dùng vì đó là RAM tiến trình, không phải RAM hệ thống.
- Nếu muốn kiểm tra tốc độ Bus thực tế (thay vì tốc độ ghi nhãn), hãy dùng phần mềm chuyên dụng như HWiNFO vì PowerShell chỉ đọc từ SPD.
Câu hỏi thường gặp về cách xem RAM bằng PowerShell
Làm thế nào để xem RAM đang sử dụng và khả dụng theo phần trăm?
Dùng lệnh: Get-CimInstance Win32_OperatingSystem | Select-Object @{Name=”UsedPercent”;Expression={[math]::Round(($_.TotalVisibleMemorySize – $_.FreePhysicalMemory)/$_.TotalVisibleMemorySize100,2)}}. Kết quả trả về phần trăm RAM đang dùng.
Tại sao lệnh Get-CimInstance Win32_PhysicalMemory không trả về Speed?
Nguyên nhân thường do driver chipset chưa được cài đầy đủ hoặc máy tính sử dụng RAM soldered (hàn chết). Hãy cập nhật driver chipset từ trang chủ mainboard hoặc laptop.
Có thể xem thông tin RAM của máy tính khác trong mạng không?
Có thể. Sử dụng tham số -ComputerName: Get-CimInstance -ComputerName “TEN_MAY” Win32_PhysicalMemory. Yêu cầu quyền truy cập WMI và firewall cho phép. Chỉ áp dụng trong mạng nội bộ.
Xem RAM bằng PowerShell có giống hệt lệnh systeminfo không?
Lệnh systeminfo cung cấp dung lượng RAM vật lý tổng, nhưng không chi tiết đến từng thanh. PowerShell linh hoạt hơn nhiều. Bạn có thể so sánh: systeminfo | findstr /C:”Total Physical Memory” chỉ cho một dòng, trong khi PowerShell cho cả cây thông số.
Kết luận

Cách xem RAM bằng PowerShell là kỹ năng cần thiết cho bất kỳ ai muốn kiểm soát sâu phần cứng máy tính. Với các lệnh Get-CimInstance và Get-WmiObject, người dùng có thể truy xuất dung lượng, tốc độ, nhà sản xuất, số khe cắm và nhiều thông tin quan trọng khác chỉ trong vài giây. Không cần cài thêm phần mềm, không phải mở Task Manager, PowerShell đáp ứng mọi nhu cầu từ kiểm tra nhanh đến xuất báo cáo hàng loạt. Hãy tập làm quen với các lệnh cơ bản trong bài viết này, bạn sẽ thấy việc quản lý RAM trở nên dễ dàng và chuyên nghiệp hơn rất nhiều.







