SysMain이란 무엇이고 Windows에서 비활성화해야 하나요
SysMain은 예전에 Superfetch라고 불리던 Windows 서비스입니다. 어떤 프로그램을 쓰는지 관찰하고, 그 프로그램에 필요한 것을 메모리에 미리 준비해 두어 더 빨리 열리게 합니다. 작업 관리자에는 서비스 호스트: SysMain으로 표시됩니다. 로그인 직후 잠깐 디스크나 CPU를 쓰는 것은 정상입니다. 오랫동안 높은 상태가 이어진다면 멈춰서 시험해 볼 수 있고, 빠른 SSD가 있는 PC에서는 차이를 거의 못 느낄 수도 있지만, 이것은 먼저 해 보는 시험일 뿐 모든 PC를 빠르게 하는 튜닝은 아닙니다.
무엇인가
이 서비스는 svchost.exe 안에서 실행됩니다. Windows 11이 설치된 테스트용 ThinkPad에서는 다음과 같았습니다.
Name: SysMain Status: Running StartType: Automatic
Path: C:\Windows\system32\svchost.exe -k LocalSystemNetworkRestricted -p
Microsoft의 Windows Server 2016 서비스 가이드는 이를 Superfetch라는 이름으로 나열하며, 설명은 "Maintains and improves system performance over time", 권장 사항은 "No guidance"입니다. 즉 이 가이드는 비활성화하라고도 하지 말라고도 하지 않으며, 항상 꺼야 한다는 흔한 주장을 뒷받침하지 않습니다.
정말 원인인지 확인하기
Ctrl + Shift + Esc로 작업 관리자를 열고 프로세스로 이동해 디스크순으로 정렬합니다.- 서비스 호스트: SysMain을 펼치거나 PowerShell로 확인합니다.
Get-Service SysMain | Select-Object Status, StartType
Get-Process -Id (Get-CimInstance Win32_Service -Filter "Name='SysMain'").ProcessId | Select-Object Id, CPU, WorkingSet64
- 시작 직후나 큰 업데이트 뒤에는 이 작업이 예상되므로 10분에서 15분 기다립니다.
- 그 밖에 무엇이 바쁜지 기록합니다. 거의 가득 찬 드라이브나 오래된 하드 디스크에서는 많은 것이 SysMain의 탓처럼 보입니다. 디스크 사용률 100%를 참고하세요.
| 보이는 증상 | 보통의 의미 | 시도할 것 |
|---|---|---|
| 로그인 후 몇 분간 바쁨 | 정상적인 준비 작업 | 기다리기 |
| 하드 디스크에서 디스크가 오랫동안 100% | 드라이브가 따라가지 못함 | 서비스를 멈추고 시험하고, SSD도 고려 |
| SSD인데 하루 종일 바쁨 | 드문 일. 다른 원인일 수 있음 | 재시동하고 업데이트를 설치한 뒤 시험 |
| 메모리가 캐시됨으로 표시됨 | 남는 메모리의 정상적인 사용 | 필요 없음. 필요하면 Windows가 해제함 |
| 게임이나 영상 작업에서 지연 | 다른 원인일 수 있음 | 며칠간 서비스를 멈춘 채 시험 |
멈추는 방법과 되돌리는 방법
시작 유형은 바꾸지 말고 먼저 멈추기만 하세요. 재시동하면 다시 켜지므로 안전한 시험입니다. PowerShell을 관리자 권한으로 실행합니다.
Stop-Service SysMain
분명히 도움이 된다면 재시동 후에도 꺼 둡니다.
Set-Service SysMain -StartupType Disabled
Stop-Service SysMain
되돌리려면 다음을 실행합니다.
Set-Service SysMain -StartupType Automatic
Start-Service SysMain
services.msc에서도 SysMain이라는 이름으로 같은 작업을 할 수 있습니다. 며칠 동안 PC를 써 보세요. 앱이 더 느리게 열리거나 디스크가 조용해지지 않으면 다시 켜세요.
하지 말아야 할 것
- 튜닝 목록에 있다고 비활성화하지 마세요. 측정된 증상이 없으면 도움이 되었는지 알 방법이 없습니다.
- 메모리 부족을 해결하려고 비활성화하지 마세요. 캐시된 메모리는 필요할 때 반환됩니다. 메모리 사용량이 높을 때를 참고하세요.
- 함께
C:\Windows\Prefetch를 삭제하지 마세요. Windows가 다시 만들며, 그때까지는 이후 실행이 느려집니다. - 보이는 서비스 호스트를 전부 멈추지 마세요. 각각 다른 서비스를 호스팅하며, 일부는 네트워크와 소리를 유지합니다.
바이러스인가요
SysMain은 별도의 프로그램이 아니라 Windows 서비스이며, C:\Windows\System32에 있는 정상 svchost.exe 안에서 실행됩니다. 다른 폴더에서 실행되는 svchost.exe나 철자가 비슷한 파일은 Microsoft Defender로 검사해 볼 만합니다.
Mole의 역할
Mole for Windows의 상태 페이지는 세션 0의 서비스 호스트를 한 행으로 묶습니다. 행 메뉴의 왜 실행 중인가요?는 가장 바쁜 복사본부터 처음 두 서비스의 이름을 보여 주고 나머지는 개수로 표시하므로, SysMain이 그 개수 뒤에 가려질 수 있습니다. 또한 가장 무거운 복사본을 나열하고, 하나를 클릭하면 그 복사본의 서비스가 나옵니다. 바쁜 서비스 하나만 따로 분리하지는 않으므로 SysMain 자체의 수치는 작업 관리자로 읽으세요. Mole은 서비스 호스트를 시스템으로 표시하며 종료나 강제 종료를 제공하지 않습니다. 시작 목록은 Windows 폴더에서 호스팅되는 서비스를 제외하므로 SysMain은 거기 나타나지 않으며, Mole에는 이를 위한 스위치가 없습니다. 더 넓은 배경은 일반적인 Windows 프로세스가 하는 일을 참고하세요.
자주 묻는 질문
SysMain이란 무엇인가요?
예전에 Superfetch라고 불리던 Windows 서비스입니다. 쓰는 프로그램의 데이터를 메모리에 준비해 두어 더 빨리 열리게 합니다.
SysMain을 비활성화해도 안전한가요?
네, 언제든 다시 켤 수 있고 Windows는 계속 동작합니다. 특히 하드 디스크에서는 앱이 조금 느리게 열릴 수 있으므로 전후를 측정하세요.
서비스 호스트: SysMain이 디스크를 많이 쓰는 이유는 무엇인가요?
시작 직후 잠깐 쓰는 것은 예상된 일입니다. 오랫동안 100%인 경우는 하드 디스크나 거의 가득 찬 드라이브에서 가장 흔하며, 그런 곳에서는 무엇이든 느려 보일 수 있습니다.
SSD에서 SysMain을 비활성화해야 하나요?
문제를 측정할 수 있을 때만 하세요. SSD에서 비활성화하라는 공식 권고는 없으며, 정상 SSD에서는 이로 인한 문제가 드뭅니다.
SysMain은 Superfetch와 같은 것인가요?
네. 오래된 가이드는 Superfetch라는 이름을 씁니다. 지금 Windows는 이 서비스를 SysMain으로 나열합니다.