Windows 11/10 PC에서 .NET 런타임 최적화 서비스(mscorsvw.exe)가 CPU, GPU 또는 디스크 사용량을 100% 수준으로 점유하는 현상이 발생한다면, 이 가이드가 문제 해결에 도움이 될 것입니다.
.NET 런타임 최적화 서비스의 CPU 사용량이 높은 이유
.NET 런타임 최적화 서비스의 CPU 사용량이 높아지는 가장 큰 원인은 관련 프로세스인 mscorsvw.exe가 백그라운드에서 .NET 어셈블리를 사전 컴파일하고 있기 때문입니다. 이 작업이 완료되면 프로세스는 자동으로 종료됩니다. 그 외에도 다음과 같은 원인이 있을 수 있습니다.
- .NET 런타임 최적화 서비스가 느리게 실행되는 경우
- PC에서 충돌을 일으키는 프로그램 또는 악성코드가 실행 중인 경우
- .NET 런타임 최적화 서비스가 손상된 경우
.NET 런타임 최적화 서비스의 높은 CPU 사용량 해결 방법
.NET 런타임 최적화 서비스의 CPU 사용량이 비정상적으로 높다면 다음과 같은 방법으로 해결할 수 있습니다.
- 작업 관리자로 mscorsvw.exe 프로세스 종료하기
- 악성코드 검사 실행하기
- ngen.exe로 .NET 런타임 최적화 서비스 최적화하기
- 마이크로소프트 공식 스크립트 활용하기
- NVIDIA Telemetry 서비스 재시작하기
각 방법을 하나씩 자세히 살펴보며 문제를 해결해 보겠습니다.
1] 작업 관리자로 mscorsvw.exe 프로세스 종료
작업 관리자를 열고 '세부 정보' 탭을 클릭한 후 mscorsvw.exe 프로세스를 찾습니다. 해당 프로세스를 마우스 오른쪽 버튼으로 클릭하고 프로세스 트리 끝내기(End process tree)를 선택하세요.
2] 악성코드 검사 실행
정상적인 mscorsvw.exe 파일은 아래 경로에 위치합니다.
C:\Windows\Microsoft.NET\Framework\
또는
C:\Windows\Microsoft.NET\Framework64
만약 이 외의 위치에서 동일한 이름의 파일이 발견된다면 악성코드일 가능성이 높습니다. PC에 숨어 있는 악성코드가 .NET 런타임 최적화 서비스의 높은 CPU 사용량을 유발하는 원인일 수 있습니다. 백신 프로그램이나 안티 멀웨어 프로그램으로 PC 전체를 검사하여 문제를 해결하세요. 백신 프로그램이 악성코드를 자동으로 제거해 줄 것입니다.
또한 해당 파일을 마우스 오른쪽 버튼으로 클릭해 '속성'을 확인하면 파일의 정상 여부를 추가로 판단할 수 있습니다.
3] ngen.exe로 .NET 런타임 최적화 서비스 최적화
Windows 기본 도구인 ngen.exe는 .NET 런타임 최적화 성능을 개선할 수 있는 기능을 제공합니다. 이 도구는 명령 프롬프트를 통해 실행해야 합니다.
먼저 시작 메뉴를 클릭하고 cmd를 검색하세요. 검색 결과에서 명령 프롬프트를 마우스 오른쪽 버튼으로 클릭한 후 관리자 권한으로 실행을 선택하거나, 검색 결과 화면에서 바로 '관리자 권한으로 실행'을 클릭합니다. 명령 프롬프트 창이 열리면 다음 명령어를 입력하세요.
32비트 Windows PC라면,
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
64비트 Windows PC라면,
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
이제 Ngen.exe를 실행해야 합니다. 다음 명령어를 입력하세요.
ngen.exe executequeueditems
이 명령은 대기 중인 컴파일 작업을 즉시 처리하도록 하여 .NET 런타임 최적화 서비스의 높은 CPU 사용량 문제를 완화하는 데 도움이 됩니다.
4] 마이크로소프트 공식 스크립트 활용
이 방법은 ngen.exe와 동일한 작업을 수행하지만, 마이크로소프트가 직접 배포한 공식 스크립트를 사용한다는 점이 다릅니다. GitHub에서 스크립트를 다운로드할 수 있습니다. 해당 페이지에 접속한 후 코드 상단의 Raw 버튼을 클릭하고 파일을 .wsf 확장자로 저장하세요. 그런 다음 PC에서 저장한 .wsf 파일을 실행하면 됩니다.
5] NVIDIA Telemetry 서비스 재시작
NVIDIA Telemetry 서비스를 재시작하는 것도 문제 해결에 도움이 될 수 있습니다. 서비스를 다시 시작하면 .NET 런타임 최적화와 관련된 손상된 데이터가 복구될 수 있기 때문입니다. 실제로 동일한 문제를 겪던 많은 사용자에게 효과가 있었던 검증된 해결 방법입니다.
실행(Run) 창을 열고 Services.msc를 입력합니다. 서비스 목록에서 NVIDIA Telemetry Service를 찾아 더블클릭하면 설정 창이 열립니다. 먼저 중지 버튼을 클릭한 후 시작 버튼을 눌러 서비스를 재시작하세요.
위에서 소개한 다양한 방법을 통해 .NET 런타임 최적화 서비스의 높은 CPU 사용량 문제를 효과적으로 해결할 수 있습니다.
.NET 런타임 최적화 서비스의 높은 CPU 사용량, 어떻게 해결하나요?
악성코드 검사 실행, ngen.exe를 이용한 .NET 런타임 최적화 서비스 최적화, 마이크로소프트 공식 스크립트 사용, NVIDIA Telemetry 서비스 재시작 등 위에서 소개한 방법들을 활용하면 문제를 해결할 수 있습니다.
.NET 런타임 최적화 서비스를 비활성화해도 되나요?
.NET 런타임 최적화 서비스는 Windows가 더 빠르고 원활하게 작동하도록 돕는 중요한 역할을 합니다. 이 서비스를 비활성화하면 PC 전반의 성능이 저하될 수 있으므로 주의가 필요합니다. 비활성화 여부는 전적으로 사용자의 선택에 달려 있습니다.