Máy tính của bạn chạy chậm? Tìm hiểu cách xác định sự cố với Perfmon trong Windows.

Cập nhật lần cuối: 14/08/2025
tác giả: Daniel Terrasa

  • PerfMon cho phép đo lường thời gian thực và ghi lại trong thời gian dài với bộ đếm chính xác và có thể cấu hình được.
  • Collector Sets và Logman hỗ trợ việc thu thập và tự động hóa dữ liệu lặp lại trên máy chủ.
  • Ngưỡng cho bộ nhớ, CPU, đĩa và mạng giúp phát hiện tình trạng tắc nghẽn và rò rỉ.
  • Reliability Monitor bổ sung cho quá trình phân tích bằng cách hiển thị các lỗi và vấn đề về khả năng tương thích.

Trình theo dõi hiệu suất PerfMon trên Windows

PerfMon (Performance Monitor) es Công cụ giám sát tối ưu trong WindowsPerfMon: Cho phép bạn xem các số liệu hiệu suất theo thời gian thực, dài hạn và phân tích các chỉ số hiệu suất cho CPU, bộ nhớ, ổ đĩa, mạng và các quy trình cụ thể. Không giống như Trình quản lý Tác vụ, PerfMon lấy mẫu theo định kỳ và ghi nhật ký vào ổ đĩa, giúp nó trở nên lý tưởng để truy tìm các vấn đề chỉ xuất hiện sau nhiều giờ chạy, chẳng hạn như tràn bộ nhớ hoặc rò rỉ tài nguyên trong các dịch vụ và ứng dụng.

Trong bài viết này, chúng tôi chỉ cho bạn cách sử dụng PerfMon. Từ việc lựa chọn và hiểu các bộ đếm phù hợp và điều chỉnh mẫu biểu đồ và tỷ lệ, cho đến việc tạo Bộ thu thập dữ liệu để ghi số liệu vào tệp (BLG/CSV.

PerfMon là gì và khi nào nên sử dụng?

 

Performance Monitor (PerfMon) là trình xem và ghi dữ liệu gốc của Windows.. Trình bày số liệu dưới dạng biểu đồ và dữ liệu thô thu được từ bộ đếm hệ thống và ứng dụng (ví dụ: từ .NET CLR hoặc một quy trình cụ thể). Ưu điểm lớn nhất của nó so với các tiện ích "nhanh" như Quản lý tác vụ là bạn có thể để nó chạy trong nhiều giờ hoặc nhiều ngày, với các mẫu định kỳ, để phát hiện các xu hướng thực tế (đỉnh, đường cơ sở, tăng trưởng bền vững).

PerfMon là rất quan trọng đối với chẩn đoán sự phát triển của bộ nhớ, xử lý hoặc rò rỉ luồngvà cô lập các thành phần có vấn đề bằng cách chạy các bài kiểm tra cụ thể. Ví dụ: nếu nghi ngờ rò rỉ bộ nhớ, bạn sẽ bật các bộ đếm như Byte Riêng, Số lượng Xử lý và Số lượng Luồng cho quy trình bị ảnh hưởng, cùng với các bộ đếm Bộ nhớ .NET CLR như # Byte trong tất cả các Heap và kích thước heap Gen 2 cho các ứng dụng .NET, để xem sự gia tăng này xảy ra trong hay ngoài GC.

Mở PerfMon và chế độ /res /report /rel /sys

Cách mở PerfMon và các chế độ chuyên biệt

 

Bạn có thể mở PerfMon từ menu Bắt đầu, tìm kiếm "hiệu suất" hoặc "perfmon" và chạy với tư cách quản trị viên khi bạn tạo nhật ký hoặc truy vấn máy tính từ xa.

Nếu bạn thích Dòng lệnh (Win+R hoặc CMD), bạn có các chế độ trực tiếp rất hữu ích với cú pháp sau:

perfmon </res|report|rel|sys>

Mỗi tùy chọn có tác dụng gì?

  • /thịt bò để mở chế độ xem tài nguyên
  • /báo cáo để khởi chạy bộ thu thập chẩn đoán hệ thống và xem báo cáo.
  • /rel để mở Reliability Monitor.
  • / sys để chuyển trực tiếp đến màn hình theo dõi hiệu suất cổ điển.

Hội đồng: nếu bạn muốn kiểm tra độ tin cậy của thiết bị, perfmon / rel Đây là lối tắt trực tiếp đến tính ổn định và lịch sử lỗi.

Màn hình độ tin cậy Nó cũng nằm trong Control Panel > System and Security > Security and Maintenance. Một cách nhanh hơn: nhập "reliab" vào ô tìm kiếm trong menu Start và chọn "View reliability history". Bạn sẽ thấy các sự kiện quan trọng, cảnh báo và thông tin theo ngày hoặc tuần, cùng với quyền truy cập vào chi tiết kỹ thuật của ứng dụng và lỗi trình điều khiển.

Nội dung độc quyền - Bấm vào đây  Làm cách nào để giải quyết vấn đề tương thích với SSD?

Hình ảnh hóa thời gian thực: thêm và hiểu các bộ đếm

 

Để xem một biểu đồ trực tiếp, mở “Performance Monitor” trong cây bên trái. Nếu có các bộ đếm được tải sẵn và bạn muốn bắt đầu dọn dẹp, hãy chọn chúng trong bảng bên dưới và nhấn Xin chào. Sau đó, trong vùng biểu đồ, nhấp chuột phải > Thêm bộ đếm… để mở hộp thoại có tất cả các danh mục có sẵn.

lựa chọn thể loại quan tâm, bộ đếm và thể hiện đối tượng (ví dụ: quy trình của bạn). Để chẩn đoán bộ nhớ và tài nguyên trong một ứng dụng cụ thể, hãy thêm các bộ đếm chính này từ nhóm Quy trình y Bộ nhớ CLR .NET khi thích hợp:

  • Tiến trình \ Byte riêng tư: Bộ nhớ riêng được phân bổ bởi tiến trình (không chia sẻ với tiến trình khác). Sự tăng trưởng liên tục cho thấy mức tiêu thụ thực tế của bộ nhớ ảo của chính tiến trình đó.
  • Tiến trình \ Xử lý Số lượng: số lượng handle mở. Sự gia tăng liên tục thường chỉ ra tình trạng rò rỉ tài nguyên (phiên, đối tượng hệ thống).
  • Tiến trình \ Số lượng luồng: Số lượng luồng đang hoạt động trong quy trình. Sự gia tăng đột biến bất ngờ có thể chỉ ra các vấn đề đồng thời hoặc luồng chưa hoàn thành.
  • Bộ nhớ .NET CLR \ # Byte trong tất cả các Heap: Tổng bộ nhớ cho các đối tượng .NET. Nếu bộ nhớ tăng mà không ổn định, hãy kiểm tra áp lực GC và các tham chiếu chưa được giải phóng.
  • Bộ nhớ .NET CLR \ Kích thước heap Gen 2: Kích thước heap Gen 2 (các mục tồn tại lâu dài). Sự tăng trưởng liên tục cho thấy các mục tồn tại lâu dài chưa được thu thập.

Giải thích biểu đồ bằng con mắt phê phánNếu bạn nhận thấy Private Bytes tăng đều đặn trong khi # Bytes trong tất cả các Heap và kích thước heap Gen 2 vẫn ổn định, thì sự tăng trưởng không nằm ở heap .NET mà nằm ở bộ nhớ/dự trữ gốc của tiến trình. Mẫu này thường chỉ ra sự rò rỉ bên ngoài GC (ví dụ: bộ đệm hoặc handle chưa đóng băng).

Cài đặt tỷ lệ và khoảng thời gian trong PerfMon

Điều chỉnh đồ thị: tỷ lệ, khoảng cách và thời lượng

PerfMon cho phép điều chỉnh khả năng hiển thị của từng bộ đếm và khoảng thời gian lịch sử bạn thấy. nhấn Ctrl + Shift + A Để chọn tất cả các bộ đếm trong danh sách bên dưới, hãy nhấp chuột phải và chọn Tỷ lệ các quầy được chọn, do đó tất cả đều có thể nhìn thấy mà không có phần nào “làm phẳng” phần còn lại.

Mở Thuộc tính biểu đồ Nhấp chuột phải > Thuộc tính… và đặt tốc độ lấy mẫu trên tab Chung. Ví dụ: lấy mẫu mỗi 10 giây và đặt Thời lượng thành 10000 để bao phủ khoảng 2,5 giờ trong chế độ xem. Hiện tượng càng kéo dài, tốc độ lấy mẫu càng phải giãn cách để tránh các tệp lớn và làm quá tải máy tính.

Mẹo thêm: PerfMon cung cấp các thuộc tính và phương thức ActiveX, cho phép bạn tích hợp hoặc kiểm soát nó từ các công cụ phát triển khác và thậm chí nhúng nó như một công cụ kiểm soát trong ứng dụng của riêng bạn nếu cần.

Tự động hóa với Logman: Tạo, Bắt đầu và Dừng

 

Logman.exe là tiện ích dòng lệnh để tạo và quản lý bộ đếm.. Mở dấu nhắc lệnh với quyền quản trị viên và chạy lệnh tương tự như sau để tạo một bộ giám sát liên tục lớn với một tệp hình tròn:

Nội dung độc quyền - Bấm vào đây  Microsoft mở rộng các tùy chọn sửa chữa Xbox với các nhà cung cấp và bộ phận thay thế mới

Logman.exe create counter Avamar -o "c:\\perflogs\\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\\LogicalDisk(*)\\*" "\\Memory\\*" "\\Network Interface(*)\\*" "\\Paging File(*)\\*" "\\PhysicalDisk(*)\\*" "\\Processor(*)\\*" "\\Process(*)\\*" "\\Redirector\\*" "\\Server\\*" "\\System\\*" -si 00:00:05

đến bắt đầu và dừng chụp, sử dụng:

Logman.exe start Avamar
Logman.exe stop Avamar

Mẹo lệnh: -f bincirc tạo nhật ký nhị phân hình tròn (-max giới hạn kích thước tính bằng MB), -si xác định khoảng thời gian lấy mẫu và -c thêm bộ đếm hàng loạt cho các đối tượng và phiên bản của chúng. Sử dụng đường dẫn được trích dẫn và thoát khỏi dấu gạch chéo ngược khi viết tập lệnh hoặc xuất cấu hình.

Khi nào nên sử dụng Logman? Nó là lý tưởng cho thu thập dữ liệu đường dài Trên máy chủ, tự động hóa chẩn đoán hoặc chuẩn hóa việc chụp ảnh trên nhiều máy. Bạn có thể lên lịch bằng Task Scheduler và xoay vòng tệp mà không cần can thiệp.

Ngưỡng hiệu suất

Bộ đếm và ngưỡng hữu ích cho mỗi hệ thống con

Bộ nhớ: Theo dõi dung lượng thực tế, áp lực phân trang và mức cạn kiệt của nhóm hệ thống. Các bộ đếm và hướng dẫn này giúp phân biệt triệu chứng với nguyên nhân:

  • Bộ nhớ \ % Số byte đã cam kết đang sử dụng: Tỷ lệ bộ nhớ đã cam kết vượt quá giới hạn cam kết. Nếu tỷ lệ này liên tục vượt quá 80%, hãy xem lại kích thước tệp phân trang và mức sử dụng thực tế.
  • Bộ nhớ \ MB khả dụng: Bộ nhớ vật lý trống. Kiểm tra xem có < 5% RAM bị mất liên tục không (và < 1% là rất quan trọng).
  • Bộ nhớ \ Byte đã cam kết: Tổng số byte đã cam kết. Không nên thay đổi đột ngột; việc thay đổi thường xuyên có thể dẫn đến việc mở rộng tệp trang.
  • Bộ nhớ \ Nhóm byte không phân trang: nhóm không phân trang (các đối tượng không thể được xóa vào đĩa). Độ bão hòa liên tục (> 80%) Chúng có liên quan đến các sự kiện như năm 2019 (hết hồ bơi không phân trang).
  • Bộ nhớ \ Nhóm byte được phân trang: : nhóm được phân trang. Các giá trị duy trì > 70% giá trị tối đa cho thấy nguy cơ xảy ra sự kiện năm 2020 (cạn kiệt nhóm được phân trang).

Bộ xử lý: Tìm kiếm tải liên tục và tín hiệu I/O nặng hoặc trình điều khiển gây nhiễu.

  • Thông tin bộ xử lý \ % Thời gian bộ xử lý (tất cả các trường hợp): >90% duy trì trên 1 CPU hoặc >80% trên nhiều bộ xử lý cho thấy CPU bị quá tải.
  • Bộ xử lý \ % Thời gian đặc quyền: Thời gian ở chế độ kernel. Liên tục vượt quá 30% trên máy chủ ứng dụng/web có thể cho thấy trình điều khiển hoặc khối lượng công việc hệ thống quá mức.
  • Bộ xử lý \ % Thời gian ngắt y % Thời gian DPC: > 25% chỉ ra hoạt động mạnh của thiết bị (NIC, đĩa, v.v.).
  • Hệ thống \ Chuyển đổi ngữ cảnh/giây y Bộ xử lý \ Ngắt/giây: hữu ích để xem áp suất chuyển đổi ngữ cảnh và hoạt động ngắt.

đỏ: chỉ ra tình trạng sức khỏe và chất lượng truyền thông của NIC.

  • Giao diện mạng\Gói tin đã nhận bị hủy: nên giữ gần bằng không; giá trị tăng thường chỉ ra bộ đệm/phần cứng không đủ.
  • Giao diện mạng\Lỗi gói tin đã nhận: : lỗi > 2 liên tục yêu cầu xem xét lại các liên kết/cáp/trình điều khiển.

Disco: đo độ bão hòa, độ trễ và dung lượng.

  • PhysicalDisk \ % Thời gian nhàn rỗi: tỷ lệ thời gian nhàn rỗi. Mức thấp liên tục cho biết ổ đĩa đang bận; nó phản ánh chính xác dung lượng còn lại.
  • PhysicalDisk \ TB. Giây đĩa/Đọc y TB. Giây đĩa/Ghi: Độ trễ trung bình. Tài liệu tham khảo điển hình (hướng dẫn): Tốc độ đọc tuyệt vời < 8 ms, chấp nhận được < 12 ms, trung bình < 20 ms, kém > 20 ms; Tốc độ ghi tuyệt vời < 1 ms, tốt < 2 ms, trung bình < 4 ms, kém > 4 ms.
  • PhysicalDisk \ Độ dài hàng đợi đĩa trung bình: đuôi trung bình. Giá trị dưới 2× thường là hợp lý.
  • PhysicalDisk \ Chia IO/giây: I/O bị chia tách do phân mảnh hoặc kích thước khối không đủ. Càng thấp càng tốt.
  • LogicalDisk \ % Dung lượng trống: Luôn để trống > 15% (khuyến nghị ≥ 25%) trên các ổ đĩa logic của hệ thống.
Nội dung độc quyền - Bấm vào đây  AirPods Pro là gì?

Đối tượng đĩa: vật lý so với logic.

  • Đĩa vật lý thêm quyền truy cập vào tất cả các phân vùng của một thiết bị vật lý (xác định phần cứng).
  • LogicalDisk Đo lường một phân vùng hoặc điểm gắn kết cụ thể. Với đĩa động, một ổ đĩa logic có thể trải rộng trên nhiều ổ đĩa vật lý và bộ đếm của nó sẽ phản ánh tổng số.

Quy trình: để liên hệ các nguồn lực với hành vi của một ứng dụng cụ thể, giám sát Tiến trình \ % Thời gian xử lý, Byte riêng tư, Byte ảo y Bộ làm việc. Số lần xử lý Điều quan trọng là nếu bạn nghi ngờ hồ bơi bị rò rỉ; sự phát triển của xử lý thường kết hôn với sự gia tăng bất thường trong Hồ bơi không phân trang/phân trang.

Giám sát độ tin cậy: Điều tra các lỗi và khả năng tương thích

Windows Reliability Monitor tóm tắt tính ổn định và các sự kiện theo ngày hoặc tuần, phân loại quan trọng, cảnh báo và thông tinTừ mỗi cột, bạn có thể mở “Xem chi tiết kỹ thuật” để kiểm tra các mô-đun, mã và chữ ký số của các tệp nhị phân liên quan.

  • Ví dụ thực tếBạn sẽ tìm thấy các mục như svchost.exe_MapsBroker hoặc các ứng dụng gây lỗi khác. Đôi khi, mô-đun được báo cáo (ví dụ: Kernelbase.dll) thuộc về nhân Windows và được Microsoft ký, cho thấy nguyên nhân gốc rễ không phải là nhân, mà là ứng dụng hoặc plugin đang chạy trong không gian người dùng của bạn.
  • Phải làm gì khi một ứng dụng cũ bị lỗiChạy trình khắc phục sự cố tương thích và thử bật chế độ tương thích (ví dụ: Windows 7) và tắt chế độ điều chỉnh DPI cao nếu bạn gặp sự cố về giao diện hoặc hiệu suất. Cài đặt này đã được chứng minh là có thể khắc phục sự cố trong phần mềm cũ.
  • Liên kết các phát hiện về độ ổn định với PerfMonKết hợp lịch sử sự cố với nhật ký bộ đếm để xem liệu Private Byte, Handle Count hay độ trễ đĩa có cao trước khi sự cố xảy ra hay không. Mối tương quan này cung cấp cho bạn một luồng để xử lý.
  • Đóng cửa thực tế:Với PerfMon và Reliability Monitor, bạn có thể chẩn đoán từ các triệu chứng (sập, chậm) đến nguyên nhân (rò rỉ bộ nhớ, tắc nghẽn đĩa, CPU 100%, lỗi mạng), được hỗ trợ bởi các bộ đếm và ngưỡng hướng dẫn rõ ràng cho bạn.

Nếu bạn cần hướng dẫn nhanh để bắt đầu: Mở PerfMon, thêm bộ đếm cho quy trình mục tiêu (Byte riêng tư, % Thời gian xử lý, v.v.), điều chỉnh lấy mẫu và thời lượng để bao phủ cửa sổ xảy ra sự cố, ghi vào tệp bằng Bộ thu thập và nếu có thể, tự động hóa bằng Logman trên máy chủ hoặc môi trường thử nghiệm cần chạy trong nhiều giờ.