# SysMain이란 무엇이고 Windows에서 비활성화해야 하나요

SysMain은 예전에 Superfetch라고 불리던 Windows 서비스입니다. 어떤 프로그램을 쓰는지 관찰하고, 그 프로그램에 필요한 것을 메모리에 미리 준비해 두어 더 빨리 열리게 합니다. 작업 관리자에는 **서비스 호스트: SysMain**으로 표시됩니다. 로그인 직후 잠깐 디스크나 CPU를 쓰는 것은 정상입니다. 오랫동안 높은 상태가 이어진다면 멈춰서 시험해 볼 수 있고, 빠른 SSD가 있는 PC에서는 차이를 거의 못 느낄 수도 있지만, 이것은 먼저 해 보는 시험일 뿐 모든 PC를 빠르게 하는 튜닝은 아닙니다.

## 무엇인가

이 서비스는 `svchost.exe` 안에서 실행됩니다. Windows 11이 설치된 테스트용 ThinkPad에서는 다음과 같았습니다.

```text
Name: SysMain   Status: Running   StartType: Automatic
Path: C:\Windows\system32\svchost.exe -k LocalSystemNetworkRestricted -p
```

Microsoft의 [Windows Server 2016 서비스 가이드](https://learn.microsoft.com/en-us/windows-server/security/windows-services/security-guidelines-for-disabling-system-services-in-windows-server)는 이를 Superfetch라는 이름으로 나열하며, 설명은 "Maintains and improves system performance over time", 권장 사항은 "No guidance"입니다. 즉 이 가이드는 비활성화하라고도 하지 말라고도 하지 않으며, 항상 꺼야 한다는 흔한 주장을 뒷받침하지 않습니다.

## 정말 원인인지 확인하기

1. `Ctrl + Shift + Esc`로 작업 관리자를 열고 **프로세스**로 이동해 **디스크**순으로 정렬합니다.
2. **서비스 호스트: SysMain**을 펼치거나 PowerShell로 확인합니다.

```powershell
Get-Service SysMain | Select-Object Status, StartType
Get-Process -Id (Get-CimInstance Win32_Service -Filter "Name='SysMain'").ProcessId | Select-Object Id, CPU, WorkingSet64
```

3. 시작 직후나 큰 업데이트 뒤에는 이 작업이 예상되므로 10분에서 15분 기다립니다.
4. 그 밖에 무엇이 바쁜지 기록합니다. 거의 가득 찬 드라이브나 오래된 하드 디스크에서는 많은 것이 SysMain의 탓처럼 보입니다. [디스크 사용률 100%](/ko/windows/blog/windows-disk-100-percent)를 참고하세요.

| 보이는 증상 | 보통의 의미 | 시도할 것 |
| --- | --- | --- |
| 로그인 후 몇 분간 바쁨 | 정상적인 준비 작업 | 기다리기 |
| 하드 디스크에서 디스크가 오랫동안 100% | 드라이브가 따라가지 못함 | 서비스를 멈추고 시험하고, SSD도 고려 |
| SSD인데 하루 종일 바쁨 | 드문 일. 다른 원인일 수 있음 | 재시동하고 업데이트를 설치한 뒤 시험 |
| 메모리가 **캐시됨**으로 표시됨 | 남는 메모리의 정상적인 사용 | 필요 없음. 필요하면 Windows가 해제함 |
| 게임이나 영상 작업에서 지연 | 다른 원인일 수 있음 | 며칠간 서비스를 멈춘 채 시험 |

## 멈추는 방법과 되돌리는 방법

시작 유형은 바꾸지 말고 먼저 멈추기만 하세요. 재시동하면 다시 켜지므로 안전한 시험입니다. PowerShell을 관리자 권한으로 실행합니다.

```powershell
Stop-Service SysMain
```

분명히 도움이 된다면 재시동 후에도 꺼 둡니다.

```powershell
Set-Service SysMain -StartupType Disabled
Stop-Service SysMain
```

되돌리려면 다음을 실행합니다.

```powershell
Set-Service SysMain -StartupType Automatic
Start-Service SysMain
```

`services.msc`에서도 **SysMain**이라는 이름으로 같은 작업을 할 수 있습니다. 며칠 동안 PC를 써 보세요. 앱이 더 느리게 열리거나 디스크가 조용해지지 않으면 다시 켜세요.

## 하지 말아야 할 것

- 튜닝 목록에 있다고 비활성화하지 마세요. 측정된 증상이 없으면 도움이 되었는지 알 방법이 없습니다.
- 메모리 부족을 해결하려고 비활성화하지 마세요. 캐시된 메모리는 필요할 때 반환됩니다. [메모리 사용량이 높을 때](/ko/windows/blog/windows-high-memory-usage)를 참고하세요.
- 함께 `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 프로세스가 하는 일](/ko/windows/blog/windows-processes-explained)을 참고하세요.

## 자주 묻는 질문

### SysMain이란 무엇인가요?

예전에 Superfetch라고 불리던 Windows 서비스입니다. 쓰는 프로그램의 데이터를 메모리에 준비해 두어 더 빨리 열리게 합니다.

### SysMain을 비활성화해도 안전한가요?

네, 언제든 다시 켤 수 있고 Windows는 계속 동작합니다. 특히 하드 디스크에서는 앱이 조금 느리게 열릴 수 있으므로 전후를 측정하세요.

### 서비스 호스트: SysMain이 디스크를 많이 쓰는 이유는 무엇인가요?

시작 직후 잠깐 쓰는 것은 예상된 일입니다. 오랫동안 100%인 경우는 하드 디스크나 거의 가득 찬 드라이브에서 가장 흔하며, 그런 곳에서는 무엇이든 느려 보일 수 있습니다.

### SSD에서 SysMain을 비활성화해야 하나요?

문제를 측정할 수 있을 때만 하세요. SSD에서 비활성화하라는 공식 권고는 없으며, 정상 SSD에서는 이로 인한 문제가 드뭅니다.

### SysMain은 Superfetch와 같은 것인가요?

네. 오래된 가이드는 Superfetch라는 이름을 씁니다. 지금 Windows는 이 서비스를 SysMain으로 나열합니다.


Canonical: https://mole.fit/ko/windows/blog/sysmain-high-disk-windows
