윈도우 디스크 100%, 끄기 전에 확인할 것
SysMain부터 끄라는 조언이 많지만 순서가 틀렸습니다. 작업관리자의 100%가 무슨 뜻인지, 어떤 프로세스가 범인인지 먼저 확인하는 방법과 아무도 안 다루는 StorAHCI 문제를 정리했습니다.
작업관리자를 열었더니 디스크가 100%. 검색하면 SysMain을 끄라는 글이 제일 먼저 나오죠. 껐는데 그대로이거나, 잠깐 괜찮다가 다시 돌아온 분들이 이 글을 보고 계실 겁니다.
순서가 틀려서 그렇습니다. 뭐가 원인인지 보지도 않고 서비스부터 끄니까요. 그전에 확인할 게 두 가지 있습니다.
그 100%는 아마 당신이 생각하는 100%가 아닙니다
작업관리자의 디스크 % 는 처리량이 아니라 활성 시간입니다. 디스크가 뭔가를 처리하느라 바빴던 시간의 비율이지, 성능을 얼마나 쓰고 있는지가 아니에요.
이게 왜 중요하냐면, HDD는 5MB/s만 읽어도 100%가 나올 수 있기 때문입니다.
하드디스크는 물리적으로 헤드를 움직여 데이터를 찾습니다. 작은 파일 여러 개를 여기저기서 읽으면 데이터양은 얼마 안 되는데 헤드는 쉴 틈 없이 움직입니다. 바쁜 건 맞으니 활성 시간은 100%로 찍히죠. 고장이 아니라 원래 그렇게 동작하는 겁니다.
SSD는 다릅니다. 움직이는 부품이 없어 랜덤 읽기에 강하죠. SSD에서 계속 100%가 뜬다면 그건 진짜 문제일 확률이 높습니다.
그래서 먼저 확인할 것은 두 가지입니다.
| 확인 | 방법 |
|---|---|
| 내 디스크가 HDD인가 SSD인가 | 작업관리자 → 성능 탭 → 디스크 항목에 종류가 표시됨 |
| 응답 시간이 얼마인가 | 같은 화면의 “평균 응답 시간” |
응답 시간이 100ms 미만이면 100%가 떠도 대체로 괜찮습니다. 수백 ms를 계속 넘기고 실제로 멈춤이 있을 때만 문제로 보세요. 숫자보다 체감이 기준이에요.
범인부터 찾으세요
서비스를 끄기 전에 무엇이 디스크를 쓰고 있는지 보는 게 먼저입니다. 작업관리자보다 훨씬 자세히 보여주는 도구가 이미 깔려 있어요.
Win + R → resmon → 디스크 탭
여기서 볼 것은 두 군데입니다.
디스크 활동이 있는 프로세스 — 어떤 프로그램이 초당 몇 바이트를 읽고 쓰는지 나옵니다. 정렬해서 위쪽을 보세요.
디스크 활동 섹션 — 여기가 핵심입니다. 프로세스가 정확히 어떤 파일을 건드리고 있는지 경로까지 보여주죠. C:\Windows\... 인지, 백신 격리 폴더인지, 게임 폴더인지가 한눈에 드러납니다.
파일 경로를 보면 대부분 답이 나옵니다. 몇 가지 흔한 패턴입니다.
MsMpEng.exe가 특정 폴더를 훑고 있다 → Windows Defender 검사 중. 끝날 때까지 두거나 예외 경로를 지정SearchIndexer.exe→ 색인 작업 중. 새 파일을 많이 넣은 직후라면 정상이고, 끝나면 가라앉습니다svchost.exe인데 파일이SoftwareDistribution→ 윈도우 업데이트 다운로드 중System프로세스가 뚜렷한 파일 없이 계속 → 드라이버 문제일 수 있습니다. 아래 StorAHCI 항목으로
원인을 찾았으면 그것만 처리하면 끝입니다. 서비스를 줄줄이 끌 이유가 없어요.
SysMain, 덮어놓고 끄지 마세요
가장 흔한 조언인데, 가장 자주 틀리는 조언이기도 하죠.
SysMain은 예전 Superfetch에서 이름만 바뀐 서비스입니다. 자주 쓰는 프로그램을 미리 메모리에 올려두는 기능이죠. HDD에서는 이게 실제로 도움이 됩니다. 껐더니 프로그램 실행이 더 느려졌다는 후기가 나오는 이유가 이겁니다.
SSD에서는 효과가 거의 없어요. 대신 껐을 때 잃는 것도 별로 없습니다.
상황별로 갈립니다.
| 상황 | 판단 |
|---|---|
| SSD인데 SysMain이 디스크를 계속 붙잡고 있다 | 꺼도 됩니다 |
| HDD이고 특별한 증상이 없다 | 두세요. 끄면 손해입니다 |
| HDD인데 SysMain이 범인으로 확인됐다 | 꺼보고, 체감이 나빠지면 되돌리세요 |
| 리소스 모니터에서 확인 안 했다 | 아직 끄지 마세요 |
끄는 건 services.msc 에서 SysMain을 찾아 중지하고 시작 유형을 “사용 안 함”으로 바꾸면 됩니다. 되돌릴 때는 “자동”으로 돌려놓으면 되고요.
Windows Search도 마찬가지. 끄면 디스크는 조용해지는데 탐색기 검색이 사실상 못 쓰게 됩니다. 파일을 자주 찾는 편이라면 잃는 쪽이 더 큽니다.
아무도 말 안 하는 StorAHCI 문제
여기까지 다 해봤는데도 System 프로세스가 계속 디스크를 붙잡고 있다면, 이제 드라이버를 의심할 차례입니다.
마이크로소프트가 공식적으로 인정한 문제가 있습니다. 일부 AHCI PCIe 컨트롤러에 펌웨어 비호환이 있고, 윈도우 기본 드라이버인 StorAHCI.sys 를 쓰는 시스템에서 디스크 사용량이 비정상적으로 높아집니다. MSI(Message Signaled Interrupt) 모드를 끄면 크게 떨어집니다.
한국어 자료에서는 이상하리만치 안 다뤄집니다. 원인 불명의 100%가 몇 달씩 이어지는 경우라면 이게 답일 수 있어요.
먼저 해당하는지 확인합니다.
장치 관리자 → IDE ATA/ATAPI 컨트롤러 → 표준 SATA AHCI 컨트롤러
→ 속성 → 드라이버 탭 → 드라이버 세부 정보
목록에 storahci.sys 가 보이면 해당합니다.
다음으로 컨트롤러 식별자를 확인합니다. 같은 속성 창의 자세히 탭에서 속성을 장치 인스턴스 경로로 바꾸면 PCI\VEN_...\... 형태의 값이 나옵니다. 이걸 복사해 두세요.
regedit 에서 아래 경로를 찾아갑니다. <인스턴스경로> 자리에 방금 복사한 값을 넣습니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\<인스턴스경로>
\Device Parameters\Interrupt Management\MessageSignaledInterruptProperties
MSISupported 값을 0 으로 바꾸고 재부팅합니다.
레지스트리를 건드리기 전에 해당 키를 우클릭해 내보내기로 백업해두세요. 시스템이 부팅되지 않는 상황까지 가지는 않지만, 되돌릴 수단은 있어야 합니다.
컨트롤러가 여러 개면 각각 해줘야 합니다. 효과가 없으면 값을 1로 되돌리시면 되고요.
그래도 안 되면
여기까지 왔는데 해결이 안 됐다면 남은 건 하드웨어 쪽입니다.
디스크 상태를 먼저 봅니다. CrystalDiskInfo 같은 도구로 S.M.A.R.T. 정보를 확인해서 “주의” 이상이 뜨면 수명 문제예요. 재할당 섹터 수가 늘고 있다면 교체를 준비하셔야 합니다.
HDD를 쓰고 계시고 증상이 만성적이라면, 솔직히 SSD 교체가 가장 확실한 해결책입니다. 위의 모든 조치를 합친 것보다 체감 차이가 큽니다. 250GB짜리로 시스템 드라이브만 바꿔도 달라집니다.
순서 정리
| 단계 | 할 일 |
|---|---|
| 1 | 작업관리자 성능 탭에서 HDD/SSD와 응답 시간 확인 |
| 2 | resmon 디스크 탭에서 프로세스와 파일 경로 확인 |
| 3 | 찾아낸 원인만 처리 (검사 완료 대기, 예외 지정, 해당 서비스 중지) |
| 4 | System 프로세스가 범인이면 StorAHCI MSI 모드 해제 |
| 5 | S.M.A.R.T. 확인, HDD면 SSD 교체 검토 |
2번을 건너뛰고 3번부터 시작하는 글이 대부분이죠. 그래서 꺼도 안 고쳐지고, 나중엔 뭘 껐는지도 기억이 안 나는 상태가 됩니다. 진단이 먼저입니다.
자주 묻는 질문
SysMain은 덮어놓고 끄면 되나요? 아닙니다. SSD에서는 꺼도 체감이 거의 없고, HDD에서는 끄면 오히려 느려질 수 있습니다. 리소스 모니터에서 실제로 범인으로 확인됐을 때만 끄세요.
HDD인데 항상 100%입니다. 고장인가요? 대부분은 아닙니다. HDD는 작은 파일을 여기저기서 읽기만 해도 활성 시간이 100%로 찍힙니다. 응답 시간이 계속 수백 ms를 넘고 실제 멈춤이 있을 때만 문제로 보세요.
서비스를 여러 개 껐는데 뭐가 효과였는지 모르겠습니다. 하나씩 끄고 재부팅하는 수밖에 없습니다. 한꺼번에 끄면 원인도 못 찾고 필요한 기능까지 잃습니다.
SSD로 바꾸면 해결되나요? 원인이 HDD의 물리적 한계였다면 확실히 해결됩니다. 다만 StorAHCI 드라이버 문제나 특정 프로그램이 원인이라면 그대로예요. 역시 진단이 먼저입니다.