Windows 10/11 cung cấp nhiều tính năng tuyệt vời giúp cải thiện trải nghiệm người dùng. Hệ thống được cấu tạo từ nhiều hệ thống con nhỏ hơn hoạt động cùng nhau để tạo nên một nền tảng 직관 cho tất cả nhu cầu máy tính của bạn.
Tuy nhiên, gần đây nhiều người dùng báo cáo gặp lỗi sự kiện 1020 & 1008 Microsoft-Windows-Perflib trên Windows 10/11, khiến họ không thể chạy ứng dụng bị ảnh hưởng và làm giảm hiệu suất máy tính.
Theo các phàn nàn, lỗi xuất hiện không có lý do rõ ràng. Không có dấu hiệu nào cho thấy có vấn đề trước khi lỗi bật lên, như máy tính bị treo hay ứng dụng bị crash. Lỗi chỉ xuất hiện đột ngột.
Quan trọng hơn, không có nhiều tài liệu trực tuyến về cách khắc phục lỗi sự kiện 1020 & 1008 Microsoft-Windows-Perflib trên Windows 10/11. Lỗi này khiến nhiều người dùng Windows cảm thấy bực bội và bối rối, không biết phải xử lý như thế nào.
Vì vậy, nếu bạn gặp lỗi này đột ngột và không biết phải làm sao, hướng dẫn này sẽ giúp ích rất nhiều cho bạn.
Lỗi sự kiện 1020 & 1008 Microsoft-Windows-Perflib là gì?
Đừng bị nhầm lẫn. Đây là hai lỗi khác nhau: lỗi sự kiện 1020 và lỗi sự kiện 1008. Nhưng chúng thường xảy ra cùng lúc và hoàn cảnh xung quanh các lỗi này về cơ bản là giống nhau.
Dưới đây là thông báo lỗi bạn có thể gặp cho lỗi sự kiện 1008:
Nguồn: Perflib
Danh mục: Không
Loại: Lỗi
ID sự kiện: 1008
Thủ tục mở cho dịch vụ ".NETFramework" trong DLL "C:\WINDOWS\system32\mscoree.dll" thất bại với mã lỗi. Hệ thống không tìm thấy file được chỉ định. Dữ liệu hiệu suất cho dịch vụ này không có sẵn.
Dưới đây là thông báo lỗi bạn có thể gặp cho lỗi sự kiện 1020:
Nguồn: Perflib
Danh mục: Không
Loại: Lỗi
ID sự kiện: 1020
Kích thước bộ đệm yêu cầu lớn hơn kích thước bộ đệm được chuyển cho hàm thu thập của DLL bộ đếm mở rộng "C:\Windows\System32\perfts.dll" cho dịch vụ "LSM". Kích thước bộ đệm báo cáo là 34184 và kích thước yêu cầu là 43160.
Các lỗi này có thể xảy ra với bất kỳ file nào khác, không chỉ mscoree.dll. Nó cũng có thể xảy ra khi gặp lỗi khi chạy kiểm tra hiệu suất trên các file DLL khác.
Trong thông báo trên, nghĩa là hệ thống không tìm thấy mscoree.dll. Khi người dùng thử tìm file bằng lệnh odctr /r trong PowerShell (chạy với quyền admin), xuất hiện thông báo nói rằng mscoree.dll đã được thay thế từ bản sao lưu. Khi chạy lệnh lodctr /q để liệt kê các sửa chữa, mscoree.dll thậm chí được liệt kê. Tuy nhiên, lỗi vẫn xuất hiện sau khi thực hiện các bước khắc phục sự cố trên.
Người dùng bị ảnh hưởng lưu ý rằng bên cạnh các lỗi này xuất hiện trong Event Viewer, họ không nhận thấy gì lạ với máy tính; Mọi thứ hoạt động như bình thường, nên người dùng không biết lỗi này có thể gây ra vấn đề gì và điều gì không hoạt động như nó nên.
Tuy nhiên, khi bạn gặp bất kỳ lỗi nào trong số này, bạn không cần lo lắng vì chính lỗi này không phải là vấn đề lớn. Nó chỉ là cách của Windows nói rằng nó không thể thu thập dữ liệu hiệu suất. Đó là phần dễ dàng. Việc loại bỏ các lỗi thì là một câu chuyện hoàn toàn khác.
Nguyên nhân gây ra lỗi sự kiện 1020 & 1008 Microsoft-Windows-Perflib?
Như đã đề cập trước đó, các lỗi sự kiện này có thể xảy ra cho nhiều ứng dụng khác nhau. Khi bộ giám sát hiệu suất đọc tất cả bộ đếm lần đầu tiên, thủ tục mở của phần mở rộng được gọi.
Một nhiệm vụ điển hình của thủ tục mở là đọc phạm vi chỉ số đối tượng mà nó hỗ trợ từ registry. Các giá trị chỉ số này được lưu trữ trong các giá trị registry First Counter, First Help, Last Counter và Last Help dưới khóa hiệu suất của ứng dụng.
Nếu thủ tục mở này không đọc được dữ liệu (tức là các mục đó không tồn tại hoặc đã bị xóa bởi thủ tục gỡ cài đặt) thì sự kiện 1008 hoặc 1020 sẽ được ghi vào nhật ký sự kiện.
Lỗi sự kiện 1020 và 1008 thường xảy ra vì danh sách bộ đếm bị hỏng và một DLL bắt buộc đã bị vô hiệu hóa. Khi bộ đếm hiệu suất không thể gỡ tải chuỗi cho dịch vụ được chỉ định, registry có thể bị hỏng và hiển thị các lỗi perflib này.
Cách khắc phục lỗi sự kiện 1020 & 1008 Microsoft-Windows-Perflib
Mặc dù lỗi này có thể không quan trọng đối với hệ thống Windows của bạn, nhưng việc nhận được thông báo liên tục có thể gây phiền toái, vì vậy bạn có thể muốn xử lý nó bằng các giải pháp dưới đây.
Cách khắc phục #1: Khởi động lại máy tính.
Bước đầu tiên để khắc phục bất kỳ lỗi nào là khởi động lại hệ thống. Điều này thường hiệu quả trong việc giải quyết các sự cố tạm thời trên máy tính. Nhấn nút nguồn, đợi vài phút rồi bật lại. Bạn cũng có thể thử khởi động vào Safe Mode để xem lỗi có liên quan đến phần mềm của bên thứ ba hay không.
Cách khắc phục #2: Xóa file bị hỏng.
Một bước khắc phục sự cố cơ bản khác liên quan đến việc chạy lệnh SFC trong Command Prompt để kiểm tra các file bị hỏng trên máy tính. Công cụ này tự động sửa chữa hoặc thay thế các file bị hỏng để giải quyết bất kỳ lỗi nào bạn có thể gặp phải. Cũng khuyến nghị dọn dẹp hệ thống bằng Outbyte PC Repair để ngăn chặn các lỗi khác xuất hiện.
Cách khắc phục #3: Chỉnh sửa Registry.
Để loại bỏ các mục mồ côi này, thường phải thực hiện các bước sau:
- Khởi động Registry Editor (Regedt32.exe hoặc Regedit.exe) và đi đến khóa con sau:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<tên dịch vụ>\Performance- Xóa giá trị "Open".
- Khởi động lại máy tính để thay đổi có hiệu lực.
Cách khắc phục #4: Tái xây dựng bộ đếm hiệu suất.
Để khắc phục vấn đề này, hãy tái xây dựng danh sách bộ đếm hiệu suất.
- Nhấn Start.
- Gõ CMD vào thanh tìm kiếm.
- Chuột phải vào Command Prompt.
- Chọn Run as administrator.
- Nhập lệnh sau và nhấn Enter:
CD %SYSTEMROOT%\System32 - Tại dấu nhắc lệnh, gõ
lodctr /r. - Nhấn Enter.
- Tương tự, đối với lỗi 1008, gõ
lodctr /e:<tên DLL>rồi nhấn Enter.
Lưu ý: Cần có quyền thành viên trong nhóm Administrators cục bộ để hoàn tất thủ tục này. Để tái xây dựng danh sách bộ đếm trong registry, làm như sau.
- Nhấn nút Start Windows 10/11.
- Trong hộp tìm kiếm xuất hiện, gõ CMD hoặc Command Prompt.
- Khi thấy tùy chọn, chuột phải và chọn Run as administrator.
- Trong cửa sổ Command Prompt xuất hiện, nhập lệnh sau và nhấn Enter:
cd %SYSTEMROOT%\System32. - Lại nhập lệnh sau và nhấn Enter:
lodctr /r.
Cách khắc phục #5: Kích hoạt lại DLL.
Tương tự, lỗi 1008 Microsoft-Windows-Perflib xảy ra khi DLL bắt buộc bị vô hiệu hóa. Để giải quyết vấn đề, gõ lodctr /e:</<tên DLL> rồi nhấn ENTER (thay thế <tên DLL> bằng tên file của thư viện).
Để vô hiệu hóa một hoặc nhiều DLL bộ đếm mở rộng:
- Khởi động Registry Editor (RegEdt32.exe).
- Điều hướng đến khóa registry con sau:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services - Nhấp Find Key trên menu View.
- Gõ Performance làm chuỗi tìm kiếm, sau đó tìm kiếm xuống từ đó.
- Tại mỗi mục Performance bạn tìm thấy, chọn giá trị Library và sửa đổi tên thư viện bằng cách thêm hai chữ "x" ở đầu: ví dụ, thay đổi OrigLib.dll thành xxOrigLib.dll
- Khi bạn đã làm xong mỗi mục Performance dưới khóa CurrentControlSet\Services, khởi động lại Perfmon để xem có hoạt động không. Nếu có, lặp lại hai bước trên, chỉ khôi phục tên thư viện gốc và thử Perfmon sau mỗi thay đổi để xem thư viện nào gây lỗi.
Kết luận
Gặp lỗi sự kiện 1020 & 1008 Microsoft-Windows-Perflib trên Windows 10/11 rất khó chịu nhưng nó không phải là lỗi nghiêm trọng. Nếu bạn không cần bộ đếm hiệu suất cho dịch vụ được đề cập trong sự kiện, bạn có thể vô hiệu hóa chúng bằng công cụ exctrlst.exe (Extensible Performance Counter List). Tuy nhiên, đây chỉ là giải pháp thay thế để bạn không nhận được các thông báo này. Nếu bạn thực sự muốn giải quyết các lỗi này, hãy tham khảo hướng dẫn khắc phục sự cố ở trên.