Bài viết này giải thích quy trình mscorsvw.exe (.NET Runtime Optimization Service) bạn thấy trong Task Manager của Windows 11/10 và xem nó có phải virus hay không. Chúng tôi cũng giải thích nó làm gì, bạn có cần nó không, hay có thể vô hiệu hóa hoặc gỡ bỏ nó nếu nó gây sử dụng CPU cao.
mscorsvw.exe là gì trong Windows?

David Notario đã có nhận xét sau trên blog MSDN của Microsoft từ lâu:
mscorsvw.exe đang biên dịch trước các assembly .NET trong nền. Khi xong, nó sẽ biến mất. Thông thường, sau khi cài đặt .NET Redist, nó sẽ xong các assembly ưu tiên cao trong 5 đến 10 phút, sau đó chờ cho đến khi máy tính của bạn rảnh để xử lý các assembly ưu tiên thấp. Khi làm xong, nó sẽ tắt và bạn sẽ không thấy mscorsvw.exe. Một điểm quan trọng là mặc dù bạn có thể thấy sử dụng CPU 100%, quá trình biên dịch xảy ra trong tiến trình với độ ưu tiên thấp, nên nó cố gắng không chiếm CPU cho các việc khác bạn đang làm. Khi mọi thứ đã được biên dịch, các assembly giờ có thể chia sẻ trang giữa các tiến trình khác nhau và khởi động ấm (warm start) thường nhanh hơn nhiều, nên chúng ta không lãng phí chu kỳ của bạn.
Nguyên nhân là tiến trình mscorsvw.exe đang biên dịch lại các assembly .NET trong nền. Vì vậy, bình thường tiến trình sẽ biến mất sau một thời gian và tốc độ máy tính sẽ trở lại bình thường. Ngay cả khi bạn muốn, bạn cũng không thể kill tiến trình theo cách bình thường.
mscorsvw.exe có phải virus không?
Tệp mscorsvw.exe hợp pháp nằm ở đây:
C:\Windows\Microsoft.NET\Framework\
Hoặc
C:\Windows\Microsoft.NET\Framework64
Nếu tìm thấy ở nơi khác, có thể là phần mềm độc hại.
Tôi có cần mscorsvw.exe không?
Dịch vụ Tối ưu hóa Runtime .NET (mscorsvw.exe) được dùng để biên dịch trước các assembly .NET trong nền trong hệ điều hành Windows nên nó là cần thiết.
Làm thế nào để vô hiệu hóa mscorsvw.exe?
Bạn không nên vô hiệu hóa mscorsvw.exe. Nếu muốn, bạn có thể kết thúc tiến trình này.
Mở Task Manager, nhấp tab Details, tìm tiến trình mscorsvw.exe, chuột phải vào nó và chọn End process tree (Kết thúc cây tiến trình).
Sử dụng CPU cao bởi mscorsvw.exe
Đôi khi, bạn có thể thấy sử dụng CPU cao bởi Dịch vụ Tối ưu hóa Runtime .NET (mscorsvw.exe). Nếu mở Task Manager trong tình huống này, bạn sẽ thấy tiến trình mscorsvw.exe sử dụng CPU hơn 50%! Dịch vụ này thực tế được dùng bởi .NET framework để biên dịch trước. Vậy quy trình mscorsvw.exe là gì, và cách xử lý như thế nào?
Như đã đề cập, nguyên nhân là tiến trình mscorsvw.exe đang biên dịch lại các assembly .NET trong nền. Vì vậy, bình thường tiến trình sẽ biến mất sau một thời gian và tốc độ máy tính sẽ trở lại bình thường. Ngay cả khi bạn muốn, bạn không thể kill tiến trình theo cách bình thường.
Điều này là vì, tiến trình mscorsvw.exe là tiến trình hệ thống, nên khi bạn cố gắng đóng nó trực tiếp bằng Task Manager, bạn sẽ không thể làm được! Bạn phải thành thạo một chút với CMD.
Nếu bạn không muốn chờ đến khi máy tính rảnh để nó bắt đầu biên dịch, bạn có thể làm như sau:
- Điều hướng đến “C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319” trong Windows Explorer.
- Nhấp Start, gõ CMD và chạy với quyền admin.
- Trên command prompt chỉ định đường dẫn trên và gõ
ngen.exe executequeueditems. - Lệnh này sẽ xử lý tất cả công việc đang chờ.
- Khi xong, dịch vụ sẽ tắt, vì không còn việc gì khác.
- Khởi động lại máy tính; bây giờ bạn sẽ thấy không còn tiến trình mscorsvw.exe chạy trong Task Manager.
Bài viết này cung cấp thêm gợi ý về cách khắc phục sử dụng CPU cao của .NET Runtime Optimization Service trên Windows 11/10.