블로그로 돌아가기

Mac에서 mds_stores CPU 점유율이 높을 때: 기다릴 때와 손봐야 할 때

mds_stores가 CPU와 디스크를 잡아먹나요? 이것은 Spotlight의 볼륨별 색인 작업자입니다. 대부분의 급증은 스스로 끝나는 실제 작업입니다. 정상적인 색인 작업과 멈춘 프로세스를 구분하는 법, 그리고 실제로 효과 있는 해결책을 알아보세요.

Mac이 느리게 느껴져서—팬은 시끄럽고 디스크 표시등은 쉴 새 없이 깜빡이고—Activity Monitor를 열면, CPU 열 맨 위에 있는 프로세스가 mds_stores이고, 흔히 100 %, 200 %, 혹은 그 이상을 차지하고 있습니다. 종료하자니 찝찝하고, 기다리자니 시간 낭비 같습니다. 말썽을 부리는 앱과 달리, 이것은 정상적인 작업일 수도 있고, 멈춰 있는 것일 수도 있습니다. 이 가이드는 둘을 명확히 구분하는 방법을 알려주고, 실제로 도움이 되는 해결책을 차근차근 안내합니다.

빠른 답변

mds_stores는 macOS의 검색 색인인 Spotlight의 볼륨별 작업자 프로세스입니다. 높은 CPU 점유율은 대개 실제 작업입니다. 설치나 업그레이드 후의 최초 색인, 새로 마운트한 외장 드라이브, 클라우드 동기화로 인한 변동, 또는 수천 개의 작은 파일을 만들어내는 개발 워크플로 등이죠. 작업 중이 아니라 멈춰 있음을 시사하는 신호는 세 가지입니다:

  1. 같은 볼륨에서 24시간이 넘도록 아무 진전 없이 계속 돌고 있다.
  2. 최근에 어떤 계기도 없는데—실행 중인 클라우드 동기화도, 대용량 파일 복사도, 새로 마운트한 드라이브도 없는데—CPU와 디스크가 몇 시간째 높게 유지된다.
  3. 같은 파일들을 반복해서 계속 돈다.

ProcXrayOpen Files 패널은 mds_stores가 지금 이 순간 어떤 경로를 읽고 있는지 정확히 보여줍니다. 무엇이 이를 유발하는지 알아내는 가장 빠른 방법입니다. Activity Monitor의 프로세스 검사기(Inspector)도 프로세스의 열린 파일을 나열할 수 있지만, 검색이나 기록이 없는 정적 대화 상자일 뿐입니다. 수천 개의 색인 경로를 실시간으로 솎아내야 하는 상황에서는 ProcXray의 패널이 진단을 수 초 만에 해결합니다.

mds_stores란 무엇인가?

mds_stores는 macOS에서 Spotlight를 구성하는 세 프로세스 중 하나입니다:

Activity Monitor에서 여러 개의 mds_stores 프로세스가 보인다면 정상입니다. 단지 하나 이상의 볼륨이 색인되고 있다는 뜻입니다. 색인이 완전히 구축된 평범한 유휴 상태의 Mac은 mds_stores를 대략 0~5 % CPU로 실행합니다. 볼륨별 모델 덕분에 외장 드라이브의 mds_stores는 시동 볼륨의 작업자에 영향을 주지 않고 단독으로 급증할 수 있습니다.

백분율에 관한 참고: Activity Monitor에서 100 %는 CPU 코어 하나를 가득 쓰는 것과 같습니다. 멀티코어 Mac에서는 단일 프로세스가 100 %를 훨씬 넘게 보고할 수 있습니다. 따라서 250 %인 mds_stores는 약 두 개 반의 코어를 점유하고 있는 셈입니다.

관점 바꾸기: 작업 중 vs 멈춤

이것이 이 가이드에서 가장 중요한 관점의 전환입니다. 언제나 자신을 구동하는 어떤 앱의 하류에 있는 WindowServer와 달리, mds_stores가 CPU 작업을 한다는 것은 대개 색인 작업이 정당하게 바쁘다는 뜻이며, 정당한 작업에는 끝이 있습니다. 진단 질문은 “mds_stores에 무슨 문제가 있나?”가 아닙니다. 그것은:

끝날 일시적인 색인인가, 아니면 색인 작업이 멈춰 있는가?

간단한 판단 기준:

이 기준이 이 글의 나머지를 구조화합니다. 계기를 식별하고, 끝나가는 중인지 확인한 뒤, 알맞은 해결책을 적용하세요.

mds_stores 급증을 유발하는 요인

흔한 계기는 여섯 가지이며, 대략 자주 나타나는 순서대로입니다:

1. 새 설치 또는 macOS 업그레이드

Spotlight가 볼륨을 처음 색인할 때는 모든 파일에서 메타데이터를 추출해야 합니다. 막 설정한 Mac에서는 홈 디렉터리 크기와 사진·문서의 수에 따라 30분에서 몇 시간까지 걸릴 수 있습니다. 주요 macOS 업그레이드도 때때로 부분 재색인을 유발합니다.

2. 새 외장 드라이브 또는 대용량 파일 복사

새 파일마다 메타데이터 추출이 필요합니다. 혼합 콘텐츠로 가득 찬 1 TB 외장 드라이브를 마운트하면 mds_stores가 한 시간에서 몇 시간까지 바쁠 수 있습니다. 시동 볼륨으로의 대용량 복사—이를테면 백업에서 폴더를 복원하는 것—도 같은 효과를 냅니다.

3. 클라우드 동기화로 인한 변동

mds_stores가 절대 멈추지 않는다”의 단일 원인으로 가장 흔합니다. iCloud Drive, Dropbox, OneDrive, Google Drive, Box는 모두 백그라운드에서 파일을 만들고, 수정하고, 삭제합니다. 그 변경 하나하나가 Spotlight가 따라가야 하는 파일 시스템 이벤트입니다. 특히 악명 높은 두 패턴이 있습니다. iCloud의 Mac 저장 공간 최적화(파일을 내보냈다가 다시 내려받음)와 OneDrive의 파일 온디맨드(같은 발상)입니다. 내보내기/내려받기 주기마다 해당 파일의 색인이 다시 트리거됩니다.

4. 수천 개의 작은 파일을 만드는 개발 워크플로

npm install / yarn install(악명 높은 node_modules), ~/Library/Developer/Xcode/DerivedData에 기록하는 Xcode 빌드, 큰 브랜치에서의 git checkout, Docker 이미지 추출, Homebrew 업데이트는 모두 파일 시스템 이벤트의 큰 물결을 일으킵니다. Spotlight는 그것들을 전부 색인하려고 합니다.

5. Time Machine 최초 백업 또는 대용량 스냅샷

Time Machine은 Spotlight가 지켜보는 파일 시스템 이벤트 스트림을 공유합니다. 최초 백업이나 대규모 스냅샷 작업은 mds_stores와 상호작용하여 두 프로세스를 한꺼번에 끌어올릴 수 있습니다.

6. 재구축이 필요한 손상된 색인

강제 종료, 커널 패닉, APFS 볼륨 문제, 또는 실패한 디스크 복구 후에는 Spotlight 색인이 일관성을 잃을 수 있습니다. 그러면 mds_stores는 색인을 처음부터 재구축해야 합니다. 최초 색인과 똑같아 보이지만 난데없이 일어나는 작업입니다.

자주 변동을 일으키는 출처로 짚어둘 만한 앱이 몇 가지 있습니다. Adobe Creative Cloud 동기화, Backblaze, Carbon Copy Cloner, 그리고 접근 시 검사를 하는 모든 백신입니다. 이 중 하나라도 실행 중이라면 먼저 그것을 의심하세요.

저절로 해결될지 판단하는 방법

Activity Monitor가 자연스러운 출발점이지만, 열린 파일 보기는 검색이나 기록이 없는 정적 모달입니다. 그리고 바로 그 점이 이 사건을 가장 자주 풀어내는 디테일을 가립니다. mds_stores가 지금 어떤 파일 경로를 읽고 있으며, 그것이 시간에 따라 어떻게 바뀌는지입니다.

1단계: 색인이 활성화되어 있는지 확인

Terminal을 열고 실행하세요:

mdutil -s /

출력은 다음 중 하나입니다:

각 볼륨에 대해 명령을 반복하세요(mdutil -s /Volumes/External).

중요: mdutil -s는 볼륨에서 Spotlight 색인이 활성화되어 있는지만 알려줄 뿐, 진행 상황이나 색인이 실제로 돌고 있는지는 보고하지 않습니다. “아직 앞으로 나아가는 중인가?”에 답하려면 다음과 결합하세요. 2단계의 디스크 읽기 추세, 3단계에서 Open Files의 파일 경로가 시간에 따라 바뀌는지, 그리고 Spotlight 자체 검색 창을 열었을 때 여전히 “색인 중…” 상태 표시줄이 보이는지입니다.

2단계: Activity Monitor에서 빠르게 관찰

CPU 탭 → CPU로 정렬하여 mds_stores가 맨 위에 있는지 확인합니다. 디스크 탭으로 전환하고 읽은 바이트로 정렬하세요. mds_stores가 디스크 읽기를 지배한다면, 파일을 활발히 스캔하고 있는 것입니다(색인이 바로 그렇게 보입니다). 5분간 지켜보세요. CPU가 내려가는지, 평평한지, 올라가는지?

3단계: ProcXray로 무엇을 색인하는지 식별

ProcXray는 바로 이런 종류의 리소스 간 진단을 위해 만들어졌습니다:

이런 종류의 디버깅에서 Activity Monitor가 남기는 빈틈에 대한 자세한 내용은 ProcXray vs Activity Monitor를 참고하세요.

4단계: 의심되는 계기를 제거하는 A/B 테스트

가설이 생겼다면, 외장 드라이브를 하나씩 추출하세요. 클라우드 동기화 앱을 하나씩 일시 중지하세요. 빌드 도구를 종료하세요. 변경할 때마다 mds_stores를 1분간 지켜보세요. 뚜렷한 하락은 재부팅이나 전체 세션 중단 없이 원인을 확인해 줍니다.

단계별 해결책

저렴하고 방해가 적은 것부터 순서대로 적용하세요.

1. 처음 관찰했을 때 30분~2시간 기다리기

가장 흔히 간과되는 해결책입니다. 대부분의 색인은 이 시간 안에 끝납니다. Mac을 전원에 연결하고 그대로 두세요. 색인을 완료한 Mac으로 돌아오는 것이 거의 언제나 올바른 결과입니다.

2. 범인 폴더를 Spotlight 검색 개인 정보 보호에 추가

시스템 설정 → Spotlight → 검색 개인 정보 보호 → 폴더를 끌어다 넣으세요. 이렇게 하면 Spotlight가 해당 폴더 색인을 멈춥니다. 제외할 가치가 가장 큰 폴더는:

절충점: 그 파일들은 Spotlight 검색에 나타나지 않습니다. 빌드 산출물과 node_modules의 경우 거의 언제나 옳은 선택입니다.

3. 클라우드 동기화를 일시적으로 중지

Open Files 패널에서 mds_stores가 iCloud, Dropbox, OneDrive 또는 Google Drive 폴더에서 읽는 것이 보였다면, 그 앱을 일시 중지하세요. mds_stores가 몇 분 안에 진정되면 원인을 확인한 것입니다. 장기적 해결책으로는, 색인 비용을 감수하거나 검색 개인 정보 보호를 통해 클라우드 폴더를 Spotlight에서 제외하세요. iCloud의 “Mac 저장 공간 최적화”가 켜져 있고 디스크 여유가 있다면 꺼보세요. 끊임없는 내보내기/재다운로드 주기는 루프의 흔한 근본 원인입니다.

4. 특정 볼륨에서 색인 비활성화

Spotlight로 검색하지 않는 외장 드라이브(예: 스크래치 드라이브, 미디어 아카이브)의 경우입니다. Time Machine 백업 디스크에서는 색인을 비활성화하지 마세요. Time Machine은 해당 볼륨의 Spotlight 색인에 의존합니다.

sudo mdutil -i off /Volumes/External

나중에 sudo mdutil -i on /Volumes/External로 다시 활성화하세요.

5. 색인이 손상되었을 때 깨끗한 재구축 강제 실행

mdutil -s가 “unknown indexing state”를 보고했거나, 모든 계기를 배제했는데도 mds_stores가 계속 돈다면, 색인을 지우고 재구축하세요:

sudo mdutil -E /

색인이 재구축되는 동안 30분에서 몇 시간의 높은 CPU·디스크 사용을 예상하세요. 그것은 재구축 자체일 뿐 문제가 아닙니다. 손상을 확인했을 때 사용하고, 첫 반사 행동으로 쓰지 마세요.

6. 최후의 수단: mds_stores를 직접 종료

macOS는 몇 초 안에 깨끗하게 다시 띄웁니다. 이것은 계기를 고치지는 않지만, 폭주하는 루프를 조사할 수 있을 만큼 끊어줄 수는 있습니다. Activity Monitor의 “강제 종료”를 쓰거나:

sudo killall mds_stores

권장하지 않음: sudo mdutil -a -i off로 Spotlight를 영구히 비활성화하는 것. Spotlight 검색, Mail 검색, 그리고 기반 메타데이터 API에 의존하는 모든 앱을 잃게 됩니다. 거의 결코 올바른 해결책이 아닙니다. 대신 검색 개인 정보 보호로 시끄러운 폴더를 제외하세요.

mds_stores가 유일한 용의자가 아닐 때의 더 폭넓은 성능 분류는 올바른 프로세스를 종료해 느린 Mac을 고치는 법을 참고하세요.

자주 묻는 질문

mds_stores를 안전하게 종료할 수 있나요?

네. macOS가 몇 초 안에 자동으로 다시 띄웁니다. 종료하면 하던 일이 중단되지만, 색인이나 데이터를 손상시키지는 않습니다. 함정: 종료했는데 같은 작업 부하가 즉시 다시 트리거한다면 아무것도 고친 게 아닙니다. 단지 원인이 지속적이며 위 목록의 실제 해결책이 필요하다는 것을 확인한 것뿐입니다.

정상적인 색인은 얼마나 걸려야 하나요?

막 설정한 Mac의 최초 색인: 보통 30분2시간, 아주 큰 홈 디렉터리에서는 최대 46시간. 새로 마운트한 1 TB 외장 드라이브: 대략 파일 수에 비례하며 흔히 1~4시간. 클라우드 동기화 폭증 이후의 색인: 수 분. 안정적인 파일 집합에서 24시간을 넘는 지속적인 활동은 이례적이며, 멈춘 프로세스이거나 폭주하는 변동 원천 둘 중 하나를 가리킵니다.

왜 mds_stores가 같은 파일에 대해 계속 색인을 다시 시작하나요?

거의 언제나 같은 파일을 반복해서 건드리는 클라우드 동기화 앱이나 백업 도구 때문입니다. iCloud Drive의 Mac 저장 공간 최적화가 잦은 범인입니다. 파일을 내보냈다가 다시 내려받으며, 매 주기마다 해당 파일에 대한 Spotlight를 다시 트리거합니다. 시스템 설정 → [내 이름] → iCloud → iCloud Drive → Mac 저장 공간 최적화를 확인하세요. (디스크 여유가 있다면) 이것을 끄면 루프가 해결되는 경우가 많습니다.

Spotlight를 영구히 비활성화해야 하나요?

아니요, 아주 구체적인 이유가 있고 Spotlight, Mail, 또는 어떤 시스템 검색 기능도 쓰지 않는 경우가 아니라면요. 많은 앱이 기반 메타데이터 API에 의존합니다. Spotlight를 끄면 돋보기 아이콘 이상의 것이 망가집니다. 검색 개인 정보 보호로 시끄러운 폴더를 제외하면 비용은 거의 없이 이점의 대부분을 얻을 수 있습니다.

왜 mds_stores가 디스크는 쓰면서 CPU는 거의 안 쓰나요?

색인은 대체로 I/O에 묶여 있습니다. mds_stores는 대부분의 시간을 디스크에서 파일 내용을 읽는 데 쓰고, 메타데이터를 파싱하기 위해 짧은 CPU 폭발을 일으킵니다. 높은 디스크 + 낮은 CPU가 정상적인 색인의 특징입니다. CPU도 높다면, 색인 작업이 작은 파일을 많이 건드리고 있는 것으로, node_modules, 메일박스, git 객체에서 전형적입니다.

출처 및 참고 자료


ProcXray 무료 다운로드 →mds_stores가 지금 어떤 파일을 색인하고 있는지 정확히 확인하세요. macOS Sonoma+, Apple Silicon 및 Intel.