가끔 특정 응용 프로그램이나 백그라운드 시스템 프로세스가 비정상적으로 많은 시스템 자원을 차지하는 경우를 겪게 됩니다. 프로세스의 높은 자원 사용량은 시스템의 다른 작업 속도를 크게 늦추고 PC를 심하게 버벅이게 만들며, 최악의 경우 시스템 전체가 다운될 수도 있습니다. 이번 글에서는 종종 발생하는 .NET 런타임 최적화 서비스의 높은 CPU 사용량 문제와 이를 정상 수준으로 되돌리는 방법을 자세히 알아보겠습니다.
Windows 10에서 .NET 런타임 최적화 서비스 높은 CPU 사용량 해결하기
.NET 프레임워크는 마이크로소프트와 여러 타사 개발사가 Windows 응용 프로그램을 개발하고 실행하는 데 사용하는 개발 플랫폼입니다. 이 서비스의 실행 파일인 mscorsvw.exe는 공식 Windows 구성 요소로, .NET 라이브러리를 사전 컴파일하고 재컴파일하는 최적화 작업을 수행하여 응용 프로그램이 더 빠르게 시작되도록 돕습니다. 이 최적화 서비스는 PC가 5~10분 정도 유휴 상태일 때 백그라운드에서 실행되도록 설계되어 있습니다.
.NET 런타임 최적화 서비스가 CPU 사용량을 높이는 원인
간혹 서비스가 .NET 라이브러리를 재컴파일하는 데 평소보다 오래 걸리는 경우가 있으며, 그 결과 다음과 같은 증상이 나타날 수 있습니다.
- 평소보다 눈에 띄게 느려진 PC 성능
- 컴퓨터의 잦은 오류 및 버벅임
- 서비스 인스턴스의 손상
- 맬웨어에 의한 시스템 자원 점유
이 서비스는 개별 응용 프로그램의 성능에 직접적인 영향을 미치기 때문에, 문제가 보이자마자 무조건 종료하는 것은 권장하지 않습니다. 대신 작업 완료가 너무 오래 걸린다면 몇 가지 명령이나 스크립트를 실행해 속도를 높일 수 있고, 맬웨어 검사, 서비스 재시작, 클린 부팅 등의 방법도 함께 활용할 수 있습니다. 아래에서 방법별로 하나씩 살펴보겠습니다.
방법 1: 클린 부팅 수행하기
특정 타사 응용 프로그램 때문에 서비스가 라이브러리를 재컴파일하는 데 어려움을 겪고, 그 과정에서 더 많은 CPU 자원을 소모하고 있을 가능성도 있습니다. 필수 드라이버와 시작 프로그램만 로드하는 클린 부팅을 수행하면, 타사 프로그램이 문제의 원인인지 확인할 수 있습니다. Windows 10 클린 부팅 절차는 다음과 같습니다.
1. Windows + R 키를 동시에 눌러 실행 대화 상자를 엽니다.
2. msconfig를 입력하고 Enter 키를 눌러 시스템 구성 창을 엽니다.
3. 서비스 탭으로 이동한 뒤 모든 Microsoft 서비스 숨기기 항목에 체크합니다.
4. 모두 사용 안 함 버튼을 클릭합니다. 이렇게 하면 타사 및 불필요한 서비스가 백그라운드에서 실행되지 않습니다.
5. 적용 > 확인 버튼을 클릭해 변경 사항을 저장합니다.
6. 다시 시작할지 다시 시작하지 않고 끝낼지 묻는 팝업이 나타나면, 다시 시작하지 않고 끝내기 옵션을 선택합니다.
7. 1~2단계를 반복해 시스템 구성 창을 다시 연 뒤 시작 프로그램 탭으로 전환합니다.
8. 화면에 표시된 것처럼 작업 관리자 열기 링크를 클릭합니다.
참고: 목록에 있는 응용 프로그램·프로세스의 시작 영향 열을 확인하고, 시작 영향이 높음으로 표시된 항목들을 비활성화하세요.
9. 해당 응용 프로그램(예: Steam)을 마우스 오른쪽 버튼으로 클릭하고 사용 안 함을 선택합니다.
10. 마지막으로 열려 있는 모든 창을 닫고 PC를 재시작합니다. 이제 PC는 클린 부팅 상태로 시작됩니다.
11. 작업 관리자에서 .NET 런타임 서비스의 CPU 사용량을 확인합니다. 사용량이 정상이라면, 타사 프로그램을 한 번에 하나씩 활성화하면서 원인이 되는 응용 프로그램을 찾아내고, 해당 프로그램을 제거하여 향후 같은 문제가 재발하지 않도록 하세요.
방법 2: .NET 프레임워크 프로세스 속도 높이기
이 서비스를 종료할 수 없다면, 대신 추가 CPU 코어를 사용하도록 허용해 작업 속도를 높일 수 있습니다. 기본적으로 이 서비스는 하나의 코어만 사용합니다.
- 명령 프롬프트에서 직접 명령을 실행하거나
- GitHub에서 Microsoft 공식 스크립트를 내려받아 실행할 수 있습니다.
옵션 I: 명령 프롬프트 사용
1. 시작 메뉴에서 명령 프롬프트를 검색한 뒤 관리자 권한으로 실행을 클릭합니다.
2. 아래 명령을 입력하고 Enter 키를 눌러 실행합니다.
참고: 실행해야 할 명령은 시스템 아키텍처에 따라 다릅니다.
- 32비트 시스템: cd c:\Windows\Microsoft.NET\Framework\v4.0.30319
- 64비트 시스템: cd c:\Windows\Microsoft.NET\Framework64\v4.0.30319
3. 이어서 ngen.exe executequeueditems 명령을 실행합니다.
전문가 팁: 내 PC가 32비트인지 64비트인지 확인하는 방법
시스템 아키텍처를 잘 모른다면 아래 단계를 따라 확인하세요.
1. Windows + R 키를 함께 눌러 실행 대화 상자를 엽니다.
2. msinfo32를 입력하고 확인을 클릭해 시스템 정보 창을 엽니다.
3. 시스템 종류 항목에서 시스템 아키텍처를 확인할 수 있습니다.
옵션 II: GitHub 스크립트 사용
1. 해당 스크립트의 GitHub 페이지로 이동합니다.
2. Raw 버튼을 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 링크 저장… 옵션을 선택합니다.
3. 저장 형식을 Windows 스크립트 파일로 변경한 뒤 저장을 클릭합니다.
4. 다운로드가 완료되면 Windows Script Host로 파일을 실행합니다.
방법 3: .NET 런타임 최적화 서비스 재시작하기
서비스는 종종 오류를 일으켜 불필요하게 많은 시스템 자원을 소모하거나 비정상적으로 오랜 시간 활성 상태로 유지되는 등의 이상 동작을 보일 수 있습니다. 이러한 오류는 현재 Windows OS 빌드에 존재하는 버그 때문에 발생하기도 합니다. NVIDIA Telemetry Container 서비스를 재시작하여 문제를 해결하는 방법은 다음과 같습니다.
참고: 이 방법은 NVIDIA 전용 그래픽 카드가 장착된 시스템에서만 작동합니다.
1. Windows + R 키를 동시에 눌러 실행 대화 상자를 엽니다.
2. services.msc를 입력하고 확인을 클릭해 서비스 응용 프로그램을 엽니다.
3. 목록을 스크롤하여 NVIDIA Telemetry Container 서비스를 찾습니다.
4. 해당 서비스를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 속성을 선택합니다.
5. 먼저 중지 버튼을 클릭합니다. 서비스 상태가 중지됨으로 표시되면 시작 버튼을 눌러 서비스를 다시 구동합니다.
6. 시작 유형:이 자동으로 설정되어 있는지 확인합니다.
7. 서비스가 재시작되면 적용 > 확인을 클릭해 변경 사항을 저장하고 속성 창을 닫습니다.
8. Ctrl + Shift + Esc 키를 함께 눌러 작업 관리자를 열고, 해당 서비스가 여전히 높은 CPU 자원을 사용하는지 확인합니다.
방법 4: 맬웨어 탐지 및 제거하기
위 방법들로도 CPU 사용량이 비정상적으로 높다면, 바이러스·맬웨어 검사를 실행해 감염 가능성을 배제해야 합니다. 주의하지 않으면 악성 프로그램이 몰래 PC에 침입할 수 있으며, 이들은 공식 Windows 구성 요소로 위장한 뒤 높은 CPU 사용량 등 여러 문제를 일으킵니다. 기본 제공되는 Windows Defender로 검사하거나, 별도의 전문 보안 프로그램을 활용할 수도 있습니다. 아래 단계에 따라 맬웨어를 제거하고 문제를 해결하세요.
1. Windows + I 키를 동시에 눌러 설정을 엽니다.
2. 업데이트 및 보안을 클릭합니다.
3. Windows 보안 메뉴로 이동한 뒤 바이러스 및 위협 방지를 클릭합니다.
4. 빠른 검사를 클릭해 PC에 맬웨어가 있는지 확인합니다.
5. 맬웨어가 발견되면 동작 시작을 클릭해 위협 요소를 제거하거나 차단한 뒤, PC를 재시작합니다.
함께 보면 좋은 글:
- Windows 10 터치패드 스크롤이 안 될 때 해결 방법
- Windows 10 시작 프로그램 변경 방법
- Windows 10에서 마이크 음소거하는 방법
- 컴퓨터가 계속 강제 종료(크래시)될 때 해결하는 7가지 방법
위에서 소개한 해결 방법 중 하나가 PC의 .NET 런타임 최적화 서비스 높은 CPU 사용량 문제를 해결하는 데 도움이 되었기를 바랍니다. 만약 나중에 같은 문제가 다시 발생한다면, 사용 가능한 Windows 업데이트가 있는지 확인하거나 최신 버전의 .NET 프레임워크를 다시 설치해 보세요. 이 글에 대해 궁금한 점이나 제안 사항이 있다면 언제든지 댓글로 남겨주세요.