Chuyển tới nội dung chính

Kiểm Tra Hiệu Năng CPU, RAM và Disk trên Windows Server

Giới Thiệu

Việc theo dõi và kiểm tra hiệu năng của CPU, RAM và Disk là một nhiệm vụ thiết yếu đối với bất kỳ quản trị viên hệ thống Windows Server nào. Các thành phần này là xương sống của mọi hoạt động trên server, và việc hiểu rõ cách chúng hoạt động giúp bạn phát hiện sớm các vấn đề tiềm ẩn, ngăn ngừa tình trạng quá tải, và đảm bảo hệ thống luôn hoạt động ổn định. Một server chậm chạp hoặc không phản hồi có thể gây ra gián đoạn dịch vụ nghiêm trọng, ảnh hưởng đến hoạt động kinh doanh.

Hướng dẫn này sẽ trang bị cho bạn các phương pháp và công cụ cơ bản để kiểm tra hiệu suất CPU, RAM và Disk trên Windows Server, từ những công cụ tích hợp sẵn trong hệ điều hành đến việc sử dụng PowerShell để tự động hóa.

📋 Thời gian: 15 phút | Độ khó: Cơ bản

Yêu Cầu

Để thực hiện theo hướng dẫn này, bạn cần có:

  • Một máy chủ Windows Server (phiên bản 2012 trở lên).
  • Quyền truy cập với tài khoản quản trị (Administrator) trên server.
  • Kết nối Remote Desktop Protocol (RDP) hoặc truy cập trực tiếp vào console của server.

Các Bước Thực Hiện

Bước 1: Sử dụng Task Manager (Trình quản lý Tác vụ)

Task Manager là công cụ đầu tiên và dễ tiếp cận nhất để kiểm tra nhanh hiệu suất của server.

  1. Mở Task Manager:

    • Nhấn Ctrl + Shift + Esc.
    • Hoặc nhấn Ctrl + Alt + Del và chọn "Task Manager".
    • Hoặc chuột phải vào thanh Taskbar và chọn "Task Manager".
  2. Kiểm tra CPU:

    • Chuyển đến tab Performance (Hiệu suất).
    • Chọn CPU. Bạn sẽ thấy biểu đồ sử dụng CPU tổng thể theo thời gian thực.
    • 💡 Mẹo: Chú ý đến "Utilization" (Mức sử dụng) để xem tổng phần trăm CPU đang được sử dụng. "Processes" (Tiến trình), "Threads" (Luồng) và "Handles" (Đối tượng xử lý) cũng cung cấp cái nhìn về mức độ bận rộn của CPU.
    • Để xem tiến trình nào đang tiêu thụ nhiều CPU nhất, chuyển sang tab Processes (Tiến trình) và sắp xếp theo cột "CPU".
  3. Kiểm tra RAM (Memory):

    • Trong tab Performance, chọn Memory (Bộ nhớ).
    • Bạn sẽ thấy biểu đồ sử dụng RAM và các thông số quan trọng như:
      • In use (Đang sử dụng): Lượng RAM đang được các ứng dụng và hệ điều hành sử dụng.
      • Available (Khả dụng): Lượng RAM còn trống để hệ thống sử dụng.
      • Cached (Đệm): Lượng RAM được sử dụng để lưu trữ dữ liệu truy cập gần đây, giúp tăng tốc độ.
      • Paged pool / Non-paged pool: Các vùng bộ nhớ được hệ điều hành sử dụng.
    • ⚠️ Cảnh báo: Nếu "In use" luôn ở mức rất cao (trên 90%) hoặc "Available" rất thấp, server của bạn có thể đang thiếu RAM.
  4. Kiểm tra Disk (Ổ đĩa):

    • Trong tab Performance, chọn Disk (Ổ đĩa).
    • Bạn sẽ thấy biểu đồ "Active time" (Thời gian hoạt động) cho mỗi ổ đĩa.
    • Các thông số quan trọng khác bao gồm "Response time" (Thời gian phản hồi), "Read speed" (Tốc độ đọc) và "Write speed" (Tốc độ ghi).
    • Nếu "Active time" thường xuyên ở mức 100% hoặc "Response time" cao (vài trăm ms trở lên), ổ đĩa của bạn có thể đang bị quá tải, dẫn đến hiệu suất chậm.

Bước 2: Sử dụng Resource Monitor (Giám sát Tài nguyên)

Resource Monitor cung cấp chi tiết hơn Task Manager và cho phép bạn xem dữ liệu theo thời gian thực một cách rõ ràng hơn.

  1. Mở Resource Monitor:

    • Từ Task Manager, trong tab Performance, nhấp vào "Open Resource Monitor" ở cuối cửa sổ.
    • Hoặc, vào Start Menu, tìm kiếm "Resource Monitor".
  2. Kiểm tra CPU:

    • Trong tab CPU, bạn sẽ thấy danh sách các tiến trình cùng với mức sử dụng CPU của chúng.
    • Biểu đồ bên phải hiển thị mức sử dụng CPU của từng core.
    • Bạn có thể xem các "Services" (Dịch vụ) và "Associated Handles" (Đối tượng xử lý liên quan) để xác định nguyên nhân gây tải CPU cao.
  3. Kiểm tra RAM (Memory):

    • Trong tab Memory, bạn sẽ thấy một biểu đồ trực quan về cách RAM được phân bổ: "Hard Faults/sec" (Lỗi cứng/giây) cho biết tần suất hệ thống phải đọc dữ liệu từ ổ đĩa thay vì RAM, một chỉ số quan trọng về tình trạng thiếu RAM.
    • Xem "Processes with Committed Memory" để biết tiến trình nào đang sử dụng nhiều RAM nhất.
  4. Kiểm tra Disk (Ổ đĩa):

    • Trong tab Disk, bạn sẽ thấy "Processes with Disk Activity" (Các tiến trình có hoạt động ổ đĩa) và "Disk Activity" (Hoạt động ổ đĩa).
    • Các cột "Read (B/sec)" và "Write (B/sec)" hiển thị tốc độ đọc/ghi của từng tiến trình và tổng thể.
    • "Response Time (ms)" là một chỉ số cực kỳ quan trọng: thời gian phản hồi càng thấp càng tốt. Nếu thời gian này thường xuyên cao, ổ đĩa của bạn đang là nút thắt cổ chai.

Bước 3: Sử dụng PowerShell

PowerShell là một công cụ mạnh mẽ để tự động hóa việc kiểm tra và thu thập dữ liệu hiệu suất.

  1. Mở PowerShell với quyền Administrator:

    • Tìm kiếm "PowerShell" trong Start Menu, chuột phải và chọn "Run as administrator".
  2. Kiểm tra CPU:

    # Lấy thông tin về phần trăm sử dụng CPU trung bình
    Write-Host "--- Kiểm tra CPU ---"
    (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples | Select-Object -ExpandProperty CookedValue
    # Lấy 5 tiến trình đang sử dụng CPU nhiều nhất
    Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 ProcessName,CPU,Id
    • CookedValue sẽ hiển thị phần trăm sử dụng CPU hiện tại.
  3. Kiểm tra RAM:

    # Lấy thông tin về RAM khả dụng và tổng RAM
    Write-Host "`n--- Kiểm tra RAM ---"
    Get-Counter '\Memory\Available MBytes' | Select-Object -ExpandProperty CounterSamples | Select-Object Path, InstanceName, CookedValue
    # Hoặc chi tiết hơn với WMI
    $RAMInfo = Get-WmiObject -Class Win32_OperatingSystem
    $TotalRAM_GB = [math]::Round($RAMInfo.TotalPhysicalMemory / 1GB, 2)
    $FreeRAM_GB = [math]::Round($RAMInfo.FreePhysicalMemory / 1GB, 2)
    Write-Host "Tổng RAM: $($TotalRAM_GB) GB"
    Write-Host "RAM khả dụng: $($FreeRAM_GB) GB"
    Write-Host "RAM đang sử dụng: $([math]::Round($TotalRAM_GB - $FreeRAM_GB, 2)) GB"
    # Lấy 5 tiến trình đang sử dụng RAM nhiều nhất
    Get-Process | Sort-Object WS -Descending | Select-Object -First 5 ProcessName,@{Name='WS (MB)';Expression={[math]::Round($_.WS/1MB, 2)}},Id
    • Available MBytes hiển thị số MB RAM còn trống.
  4. Kiểm tra Disk:

    # Lấy thông tin về phần trăm thời gian hoạt động của ổ đĩa
    Write-Host "`n--- Kiểm tra Disk ---"
    Get-Counter '\PhysicalDisk(_Total)\% Disk Time' | Select-Object -ExpandProperty CounterSamples | Select-Object Path, InstanceName, CookedValue
    # Hoặc dung lượng đĩa của các ổ đĩa vật lý
    Get-WmiObject -Class Win32_LogicalDisk | Where-Object {$_.DriveType -eq 3} | Select-Object DeviceID,
    @{Name='Total Size (GB)';Expression={[math]::Round($_.Size/1GB, 2)}},
    @{Name='Free Space (GB)';Expression={[math]::Round($_.FreeSpace/1GB, 2)}},
    @{Name='Used (%)';Expression={[math]::Round((($_.Size - $_.FreeSpace)/$_.Size)*100, 2)}}
    • % Disk Time cho biết phần trăm thời gian ổ đĩa đang bận.

Hoàn thành: Bạn đã biết cách kiểm tra CPU, RAM và Disk bằng các công cụ tích hợp sẵn và PowerShell.

Troubleshooting

  • Hiệu suất chậm nhưng tài nguyên không đầy:

    • ⚠️ Vấn đề: Đôi khi, server có thể chậm nhưng Task Manager hoặc Resource Monitor không hiển thị mức sử dụng CPU/RAM/Disk cao bất thường.
    • Giải pháp: Kiểm tra Event Logs (Logs Sự kiện) để tìm lỗi hệ thống hoặc ứng dụng. Có thể có vấn đề với driver, lỗi phần mềm hoặc các tác vụ I/O ngẫu nhiên (random I/O) kém hiệu quả không được thể hiện rõ ràng qua các chỉ số tổng thể.
  • CPU/RAM/Disk luôn ở mức cao:

    • ⚠️ Vấn đề: Một hoặc nhiều tài nguyên luôn bị quá tải.
    • Giải pháp: Xác định tiến trình hoặc dịch vụ cụ thể đang gây ra tải cao bằng Task Manager hoặc Resource Monitor. Cân nhắc tối ưu hóa ứng dụng đó, phân bổ lại tài nguyên, hoặc nâng cấp phần cứng nếu cần thiết.
  • Không thấy dữ liệu trong Performance Monitor (Resource Monitor):

    • ⚠️ Vấn đề: Dịch vụ thu thập dữ liệu hiệu suất có thể bị tắt.
    • Giải pháp: Đảm bảo dịch vụ "Performance Logs & Alerts" đang chạy. Bạn có thể kiểm tra trong Services (services.msc).
  • Lỗi khi chạy script PowerShell:

    • ⚠️ Vấn đề: Script PowerShell không chạy hoặc báo lỗi quyền.
    • Giải pháp: Đảm bảo bạn đang chạy PowerShell với quyền Administrator. Kiểm tra Execution Policy bằng lệnh Get-ExecutionPolicy. Nếu nó là Restricted, bạn có thể cần thay đổi nó thành RemoteSigned hoặc Bypass tạm thời bằng Set-ExecutionPolicy RemoteSigned -Scope CurrentUser.

Kết Luận

Việc kiểm tra và giám sát thường xuyên hiệu năng của CPU, RAM và Disk là một phần không thể thiếu trong việc quản lý Windows Server. Bằng cách sử dụng Task Manager, Resource Monitor và PowerShell, bạn có thể nhanh chóng xác định các vấn đề về tài nguyên, từ đó đưa ra các quyết định sáng suốt để duy trì sự ổn định và hiệu quả của hệ thống.

Best practices (Thực tiễn tốt nhất):

  • Theo dõi định kỳ: Đặt lịch kiểm tra hiệu suất server định kỳ, đặc biệt là trong các giờ cao điểm.
  • Thiết lập cảnh báo: Đối với các môi trường sản xuất, hãy cân nhắc sử dụng các công cụ giám sát chuyên nghiệp để thiết lập cảnh báo khi các ngưỡng tài nguyên quan trọng bị vượt quá.
  • Phân tích xu hướng: Thu thập dữ liệu hiệu suất theo thời gian để phân tích xu hướng, giúp bạn dự đoán nhu cầu tài nguyên trong tương lai và lên kế hoạch nâng cấp hoặc mở rộng phù hợp.

Xem thêm: