아무것도 열려 있지 않은데 Mac이 '디스크가 사용 중'이라고 하는 이유

모든 앱을 닫았습니다. Finder 창도 열려 있지 않습니다. 그런데도 macOS는 무언가가 드라이브를 사용 중이라고 우깁니다. 실제로 무슨 일이 벌어지는지 알아봅니다.

모든 것을 닫았습니다. Safari, 닫음. Finder 창, 닫음. 편집하던 그 문서, 저장하고 종료. 외장 드라이브에서 추출을 클릭했는데 macOS가 무언가가 여전히 사용 중이라고 합니다.

다시 확인합니다. 눈에 띄게 실행 중인 것이 없습니다. 어디에도 진행 막대가 없습니다. 드라이브는 겉보기에는 아무것도 하지 않고 그냥 거기 있습니다. 하지만 눈에 보이지 않는 무언가가 디스크에 갈고리를 박고 있습니다.

이는 macOS에서 가장 답답한 경험 중 하나입니다. 문제가 불가능하게 느껴지기 때문입니다. 모든 것을 제대로 했습니다. 작업을 닫았습니다. 그런데도 시스템은 설명 없이 추출을 막고 있습니다.

보이지 않는 프로세스들

Mac에서 실행되는 대부분은 보이지 않습니다. 사용자가 상호작용하는 앱 뒤에서, 수십 개의 백그라운드 프로세스가 평소 의식하지 못하는 작업을 처리합니다. 검색을 위한 파일 색인, 썸네일 생성, 데이터 동기화, 변경 감시 같은 것들 말입니다.

이 프로세스들에는 창이 없습니다. Dock에 나타나지 않습니다. 그중 일부는 어디를 봐야 할지 모르면 활성 상태 보기에조차 나타나지 않습니다. 하지만 모두 외장 드라이브에 접근할 수 있고, 그중 어느 하나라도 추출을 막을 수 있습니다.

macOS가 “하나 이상의 프로그램이” 디스크를 “사용 중일 수 있습니다"라고 할 때, 보통은 거짓말이 아닙니다. 무언가가 사용 중입니다. 도움이 안 되는 부분은 macOS가 그것이 무엇인지 알려 주기를 거부한다는 것입니다.

흔한 용의자들

Spotlight가 가장 흔한 보이지 않는 방해자입니다. 외장 드라이브를 연결하는 순간, Spotlight가 그것을 색인하기 시작합니다. 색인 프로세스(mds, mds_stores, mdworker)는 작업 중이라는 눈에 보이는 표시 없이 백그라운드에서 실행됩니다. 드라이브에 콘텐츠가 얼마나 많은지에 따라 몇 분에서 몇 시간 동안 파일을 열어 둘 수 있습니다.

QuickLook은 더 교묘합니다. 폴더를 둘러보면 macOS가 썸네일과 미리보기를 생성합니다. QuickLook 프로세스(QuickLookUIService, quicklookd)는 Finder 창을 닫은 뒤에도 파일 핸들을 붙들고 있을 때가 있습니다. 10분 전에 그 폴더를 봤는데, QuickLook은 여전히 그것을 생각하고 있는 것입니다.

Time Machine은 활성화되어 있다면 백업 드라이브를 끊임없이 감시합니다. 백업이 실행되지 않을 때도 backupd 프로세스가 Time Machine 볼륨과의 연결을 유지합니다. 변경을 지켜보며 다음 백업을 시작할 준비를 하고 있습니다.

iCloud와 기타 동기화 서비스는 동기화 폴더를 외장 드라이브에 저장해 두었다면 그것에 접근할 수 있습니다. 동기화 데몬이 파일 상태를 확인하거나 변경 사항 업로드를 기다리고 있을 수 있습니다.

Finder 자체도 눈에 보이지 않는 백그라운드 작업을 실행합니다. 파일 메타데이터 업데이트, 휴지통 관리, 사이드바 계산이 모두 보이지 않게 일어납니다. Finder 창을 닫는다고 Finder와 드라이브의 관계가 반드시 끝나는 것은 아닙니다.

범인 찾기

무엇이 드라이브를 막는지 볼 수 있는 유일하게 신뢰할 만한 방법은 터미널입니다. 드라이브 이름을 자신의 것으로 바꿔 이 명령을 실행하세요.

lsof /Volumes/YourDriveName

이는 드라이브의 파일을 열어 둔 모든 프로세스를 나열합니다. 출력은 기술적이지만 읽을 수 있습니다. COMMAND 열은 프로세스 이름을, NAME 열은 그들이 어떤 파일을 열어 두었는지 보여 줍니다.

흔히 보게 되는 것:

  • mds 또는 mdworker: Spotlight 색인
  • QuickLookUIService: 썸네일 생성
  • Finder: Finder 작업이나 사이드바 참조
  • backupd: Time Machine 감시
  • bird 또는 cloudd: iCloud 동기화

목록이 길다면, 보이지 않는 사용자를 찾은 것입니다. 비어 있다면, 문제가 저절로 해결되었을 수 있으니 다시 추출을 시도해 보세요.

번거로운 수동 작업은 건너뛰세요: Ejecta가 어떤 프로세스가 드라이브를 막고 있는지 정확히 보여주고 메뉴 막대에서 클릭 한 번으로 종료할 수 있게 해줍니다. 자세히 보기 →

보이지 않는 프로세스 멈추기

무엇이 드라이브를 막는지 알면 선택지가 있습니다.

Spotlight의 경우, 드라이브의 색인을 비활성화하세요.

sudo mdutil -i off /Volumes/YourDriveName

이는 Spotlight에게 드라이브를 그냥 두라고 지시합니다. 드라이브 내용을 검색하고 싶으면 나중에 색인을 다시 켤 수 있습니다.

QuickLook의 경우, 캐시를 재설정하세요.

qlmanage -r cache

이는 QuickLook이 붙들고 있던 것을 지우고 보통 드라이브를 풀어 줍니다.

Finder의 경우, Option을 누른 채 Dock의 Finder 아이콘을 마우스 오른쪽 버튼으로 클릭하고 다시 실행을 선택해 다시 시작하세요. 이는 Finder의 모든 연결을 재설정합니다.

다른 프로세스의 경우, 활성 상태 보기에서 종료할 수 있습니다. 프로세스 이름을 검색하고, 선택한 뒤 X 버튼을 클릭하세요. 대부분의 시스템 프로세스는 자동으로 다시 시작되지만, 드라이브는 풀려나야 합니다.

문제 예방하기

외장 드라이브를 Spotlight로 검색할 필요가 없다면, 시스템 설정의 Siri 및 Spotlight 아래 개인정보 보호 목록에 추가하세요. 이 목록의 드라이브는 절대 색인되지 않으며, 이는 가장 흔한 추출 방해자를 없앱니다.

외장 드라이브의 루트에 .metadata_never_index라는 파일을 만드세요. Spotlight는 이 파일을 확인하여 그것이 있는 드라이브는 색인을 건너뜁니다. 여러 Mac 사이에서 옮기는 드라이브에 유용합니다.

외장 드라이브에 무엇을 저장하는지 유의하세요. iCloud 폴더, 동기화 폴더, Time Machine 백업을 거기에 두면, 백그라운드 프로세스가 끊임없이 접근하리라 예상하세요.

더 나은 방법

드라이브를 뽑고 싶을 때마다 터미널 출력을 뒤지는 일은 금세 지칩니다. 정보는 거기 있지만, 작업 흐름이 투박합니다.

Ejecta는 같은 정보를 더 깔끔한 형태로 보여 줍니다. 막힌 드라이브를 클릭하고, 무엇이 막는지 확인하고, 또 한 번의 클릭으로 그 프로세스를 닫으세요. 외울 명령도, 분석할 출력도 없습니다.

근본 문제는 macOS가 드라이브를 붙들 수 있는 수십 개의 보이지 않는 프로세스를 실행한다는 것입니다. 그것들이 존재함을 아는 것이 첫걸음입니다. 터미널로 전환하지 않고도 정확히 어느 것이 문제인지 볼 수 있다는 것이 훨씬 더 나은 경험입니다.

매번 터미널을 쓰고 싶지 않다면, Ejecta가 어떤 프로세스가 드라이브를 막고 있는지 정확히 보여주고 메뉴 막대에서 클릭 한 번으로 종료할 수 있게 해줍니다.

지금 구입 — $9.99