데이터를 잃지 않고 Mac 캐시 비우기
진짜 캐시는 다시 만들 수 있지만, Cache라는 이름의 폴더라고 해서 자동으로 삭제해도 안전한 것은 아닙니다. 앱은 오프라인 다운로드, 세션 상태, 인덱스, 아직 동기화되지 않은 작업물을 버릴 수 있는 파일 옆에 섞어 두는 경우가 있습니다. 유용한 기술은 경로 목록을 외우는 것이 아니라 소유자, 재생성 출처, 캐시 미스 시의 결과를 구분하는 일입니다.
각 종류가 무엇인지, 어디에 있는지, 부수 피해 없이 어떻게 지울 수 있는지를 정리합니다.
캐시, 상태, 데이터는 서로 다른 세 가지입니다
앱이 번들 바깥에 보관하는 모든 것은 다음 세 버킷 중 하나에 들어가며, 대체 가능한 것은 첫 번째뿐입니다.
- 캐시는 다시 계산할 수 있습니다. 렌더링된 썸네일, 컴파일 결과, 속도용으로 보관된 다운로드 파일입니다. 삭제하면 실행이 느려지고, 네트워크를 쓰며, 오프라인 이용이 사라질 수 있습니다.
- 상태는 세션입니다. 열린 창, 스크롤 위치, 임시 작성 내용입니다. 잃으면 성가시지만 치명적이지는 않습니다.
- 데이터는 대체 불가능합니다. 메시지, 사진 라이브러리, 저장된 로그인 정보입니다. 삭제하면 진짜 손실입니다.
아래 폴더는 이 세 가지가 섞일 수 있어 "모든 캐시 지우기" 도구가 위험한 이유입니다.
~/Library/Caches 아래 경로는 유용한 단서이지, 완전한 안전 증명은 아닙니다.
이유가 있을 때 캐시를 지우세요
측정된 캐시가 필요한 공간을 잠식하거나, 앱의 문서화된 문제 해결 절차가 요구하거나, 인덱스가 분명히 오래되었거나 손상되었을 때 캐시 정리가 정당합니다. 의식처럼 반복할 일은 아닙니다. macOS와 많은 앱은 이미 압박 상황에서 캐시를 비우며, 모든 것을 다시 만들면 성능, 배터리 사용, 네트워크 트래픽이 잠시 더 나빠질 수 있습니다.
Mac에서 캐시가 있는 위치
~/Library/Caches/는 앱별 사용자 캐시로, 일상에서 가장 큰 그룹입니다. 각 하위 폴더는com.google.Chrome처럼 번들 식별자로 이름이 붙습니다./Library/Caches/는 시스템 전역 캐시를 둡니다./System/...은 System Integrity Protection으로 보호되며 손댈 대상이 아닙니다. 절대 시도하지 마세요.
환경설정은 특별히 주의합니다. ~/Library/Preferences의 파일은 설정이지 캐시가 아니며,
macOS는 cfprefsd라는 데몬을 통해 메모리에 캐시합니다. 앱이 실행 중일 때 .plist를
손으로 지우면 설정이 사라지고, 활성 환경설정 상태에 덮어쓰이거나, 앱과 캐시된 상태가
어긋날 수 있습니다. 먼저 앱 안에서 환경설정을 바꾸세요. defaults는 문서화된
환경설정 도메인과 키에만 쓰고, 일반적인 정리 명령으로 쓰지 마세요.
지울 만한 캐시, 그리고 큰 것들
무엇이든 지우기 전에 가장 큰 캐시부터 찾으세요.
du -sh ~/Library/Caches/* 2>/dev/null | sort -h
가장 무거운 줄은 보통 다음과 같습니다.
- 브라우저. Safari, Chrome 등은 캐시된 페이지와 미디어를 기가바이트 단위로 둡니다. 폴더를 지우기보다 브라우저 자체 설정에서 지우세요. 캐시와 방문 기록·로그인을 분리해 주므로 더 안전합니다.
- 개발 도구는 코딩용 Mac에서 다른 모든 것을 압도합니다. Xcode의
~/Library/Developer/Xcode/DerivedData는 수십 기가바이트에 이를 수 있고, 패키지 관리자는 각자의 저장소를 둡니다.brew cleanup은 오래된 Homebrew 다운로드를 지우고,npm cache clean --force는 npm 캐시를 지우며,~/Library/Caches/에는 Swift Package Manager, pip 등의 캐시가 있습니다. npm 캐시는 자체 복구되므로 먼저npm cache verify를 쓰고,npm cache clean --force는 의도적인 공간 회수나 문제 해결 시에만 쓰세요. - QuickLook 썸네일은 필요할 때 다시 만들어집니다.
qlmanage -r cache.
항상 소유 앱을 먼저 종료하세요. 앱이 실행 중이면 캐시 파일이 열려 있거나 메모리에 매핑된 경우가 많고, 쓰기가 진행 중일 때 지우면 앱이 의존하는 캐시 데이터베이스가 손상되어 공간 정리가 깨진 앱으로 바뀔 수 있습니다.
브라우저 캐시는 한 가지를 더 구분해야 합니다. 쿠키, 사이트 데이터, 방문 기록, 저장된 비밀번호, 캐시된 페이지 리소스는 별도 제어입니다. 목표가 디스크 회수라면 캐시된 콘텐츠만 선택하세요. 모든 탐색 데이터를 지우면 로그아웃되거나 오프라인 사이트 상태가 사라지면서 캐시는 실질적으로 더 많이 줄지 않을 수 있습니다.
더 안전한 방법, 카테고리별 검토
손으로도 할 수 있지만, 번들 식별자와 폴더 이름이 항상 읽기 쉬운 것은 아닙니다. 클리너는 무엇을 건드리기 전에 소유자, 경로, 크기, 카테고리를 보여 주어야 하며, 프로필, 문서, 모델 저장소, 대화 기록은 설계상 제외해야 합니다. Mole의 Clean 화면은 그 검토 우선 모델을 따릅니다. 더 넓은 교훈은, 찾은 항목 수가 인상적이기보다 건너뛰기 목록과 경로 검증이 더 중요하다는 점입니다.
내부 동작: "지워도 안전"이 실제로 검사하는 것
이 부분은 건너뛰어도 되지만, "카테고리별로 검토하며 지우기"가 구호 이상인 이유를
보여 줍니다. 다음은 Mole의 오픈 소스 명령줄 도구
(lib/clean)에 있는 캐시 로직에서, 실제로 검사가 어떻게 보이는지입니다.
네이티브 앱은 CLI를 호출하는 대신 Swift로 많은 규칙을 그대로 반영합니다.
세부 사항이 핵심입니다. 안전한 구현은 가능하면 패키지 관리자 자체의 정리 인터페이스를 쓰고, 데몬이 활성인 동안 빌드 캐시를 건드리지 않으며, 해석된 모든 경로를 검증하고, 느린 크기 프로브에 타임아웃을 걸고, 명시적으로 보호된 폴더는 남깁니다. 소유 도구가 없거나 카테고리가 모호하면, 추측보다 검토가 안전합니다. Caches 폴더 전체를 재귀 삭제하면 그 검사들을 전부 우회합니다.
캐시라는 이름 아래에서도 지우면 안 되는 것
- AI 어시스턴트 채팅 기록과 트랜스크립트. 캐시 근처에 있어도 대체 불가능한 데이터입니다. 공간을 위해 절대 지우지 마세요.
- 환경설정과 저장된 로그인은 버릴 수 있는 캐시와 다릅니다.
/System아래의 모든 것.- 목적을 식별할 수 없는 폴더.
모든 Mac 정리를 안전하게 유지하는 규칙은 하나입니다. 파일이 무엇을 위한 것인지 알 수 없으면 지우지 마세요.
안전한 캐시 정리 순서
먼저 측정하고, 소유 앱을 종료하고, 내장 저장 공간 또는 정리 명령을 쓰고, 한 번에 한 카테고리만 제거한 뒤, Trash를 비우기 전에 앱을 다시 여세요. 환경설정, 프로필, 채팅, 문서, 알 수 없는 Application Support 데이터를 캐시로 취급하지 마세요. 공간 또는 문제 해결 이득이 재생성과 다운로드 비용보다 클 때만 지우세요. 그 방법은 "전부 삭제"보다 느리지만, 앱 내부가 바뀌어도 안전합니다.