Hướng dẫn chi tiết cách xem RAM bằng PowerShell từ cơ bản đến nâng cao

cách xem ram bằng powershell

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?

cách xem ram bằng powershell - Hình 5

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

    cách xem ram bằng powershell - Hình 4
    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

    cách xem ram bằng powershell - Hình 3

    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

    cách xem ram bằng powershell - Hình 2
    • 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 - Hình 1

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.

Xem thêm:  Cách tắt Safe Search Windows 11: Hướng dẫn chi tiết và triệt để nhất

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *