Mole Optimize가 하는 일, 단계별 설명
Mole의 Optimize 페이지는 여러 시스템 유지 관리 작업을 한곳에 모았습니다. 입력기 전환이 잘 안 되거나 파일 미리보기에 문제가 있거나 앱을 지운 뒤 시작 항목이 남았을 때 대응하는 작업이 있습니다. 일부 작업은 기록을 지우거나 설정을 초기화하므로 실행 전에 무엇이 바뀌는지 알아두면 좋습니다.
이 글은 Mole 1.16.0 Mac 앱의 Optimize를 예로 설명합니다. 명령줄 버전은 동작이 다릅니다. 먼저 네 가지 서비스를 새로 고친 뒤 열일곱 가지 유지 관리 항목을 확인합니다. 뒤의 항목은 각각 조건이 있어 매번 모두 실행되지는 않습니다.
먼저 네 가지 시스템 서비스를 새로 고칩니다
Mole는 다른 작업이 작업 잠금을 해제할 때까지 기다리고 라이선스를 확인한 뒤 다음 순서로 새로 고침을 시도합니다.
- 입력 전환: 입력 메뉴와 전환 관련 프로세스를 다시 시작합니다. 입력기를 바꿀 때 잠시 멈출 수 있습니다.
- Spotlight: 검색 화면을 새로 고치며 검색 인덱스는 남깁니다.
- 알림 센터: 화면 프로세스를 새로 고치고 이 단계에서는 알림 기록을 남깁니다.
- 공통 클립보드: Handoff 서비스는 새로 고치지만 로컬 클립보드와 Handoff 설정은 그대로 둡니다.
일치하는 시스템 프로세스를 종료하고 macOS가 다시 시작하도록 하는 방식입니다. 프로세스가 없거나 종료할 수 없으면 새로 고치지 못한 것으로 기록합니다. 이후 원래 동작을 다시 해보고 문제가 해결됐는지 확인해야 합니다.
네 단계가 끝난 다음 시스템 상태를 읽고 필요하면 관리자 권한을 준비합니다. 관리 도우미가 이미 설정되어 있으면 매번 암호를 요구하지는 않습니다. 인증을 거부해도 일반 권한 유지 관리는 계속되지만 관리자 권한이 필요한 항목은 실행할 수 없습니다.
미리보기를 초기화하고 필요할 때 메모리를 해제합니다
먼저 Quick Look 미리보기 구성 요소를 초기화하고 축소판 캐시를 초기화한 뒤 지정된 세 곳의 사용자 축소판·아이콘 캐시 삭제를 시도합니다. 시스템 도구가 없으면 건너뜁니다. 캐시는 나중에 다시 만들어지지만 여러 위치를 처리하므로 완료로 표시되어도 일부 캐시가 남을 수 있습니다.
메모리 캐시는 검사 결과가 경고 또는 심각한 메모리 압력일 때만 처리하며 관리자 인증이 필요합니다. 정상 압력이면 건너뜁니다. 해제한 캐시는 다시 쌓이고 내용을 다시 읽어야 할 수도 있으므로 앱이 빨라진다고 보장하지는 않습니다.
기록과 데이터베이스를 정리합니다
여기서는 다음 네 종류를 순서대로 일반 사용자 권한으로 확인합니다.
- 다운로드 격리 이벤트 기록: 보호되지 않은 데이터베이스가 있고 기록이 있으면 모든 이벤트 기록을 삭제하고 압축합니다. 다운로드 파일과 격리 속성, Gatekeeper는 남깁니다.
- Mail 및 메시지 데이터베이스: 해당 앱이 종료되어 있고 데이터베이스가 100 MiB 미만이며 무결성 검사를 통과하고 빈 페이지가 5% 이상일 때만 압축합니다. 사용하지 않는 페이지를 제거하는 것으로 메일이나 대화를 의도적으로 지우지는 않습니다.
- 공유 파일 목록: 지정된 .sfl2와 .sfl3 파일을 확인하며 최근 문서와 보호된 시스템 목록은 남깁니다. 검증 실패 시 목록을 직접 삭제해 시스템이 나중에 다시 만들도록 합니다. 목록에 저장된 내용이 사라질 수 있습니다. 시간 초과 등 오류도 삭제를 유발하므로 삭제된 목록이 모두 손상된 것으로 입증된 것은 아닙니다.
- 오래된 알림: 사용자 알림 데이터베이스가 50 MiB를 넘으면 삼십 일보다 오래된 기록을 삭제하고 압축한 뒤 알림 센터 새로 고침을 시도합니다. 지워진 알림은 더는 볼 수 없습니다.
데이터베이스가 사용 중이거나 읽기·쓰기에 오류가 있으면 처리에 실패할 수 있습니다.
오래된 규칙, 창 상태와 시작 항목을 정리합니다
이어 Spotlight의 타사 규칙을 처리합니다. macOS가 해당 앱을 찾지 못하면 규칙을 제거하며 Apple과 시스템 규칙은 남깁니다. 검색 설정을 바꾸지만 모든 디스크를 검색하는 것은 아니며 검색 결과가 없다고 앱 제거를 입증할 수는 없습니다.
창 복원 상태는 폴더의 수정 날짜로 판단해 삼십 일이 넘으면 직접 삭제합니다. 앱이 창 위치, 배치나 세션 복원 상태를 잊을 수 있습니다. 이 단계에서 앱 실행 여부를 별도로 확인하지는 않습니다.
끊어진 사용자 백그라운드 시작 항목은 휴지통으로 옮깁니다. 프로그램이 절대 경로를 사용하고 볼륨이 마운트되어 있으며 파일이 확실히 없다는 것을 먼저 확인합니다. Apple과 보호된 관리·보안 소프트웨어는 제외합니다. 디스크가 연결되지 않았거나 경로·접근 권한을 판단할 수 없으면 그대로 남깁니다. 시작 설정을 옮겨도 실행 중인 서비스를 중지하지는 않습니다. 복구하려면 원본 파일이 휴지통에 남아 있어야 합니다.
읽을 수 있지만 해석할 수 없는 타사 설정 파일은 보호 또는 제외 대상이 아니면 직접 삭제합니다. 백업이나 휴지통 이동이 없어 앱이 기본 설정으로 돌아갈 수 있습니다. 앱이 먼저 종료되어야 한다는 조건도 없습니다. Apple, 전역 및 로그인 화면 등 보호된 설정은 남깁니다.
로그인 시 열기 항목에는 관리자 권한이 필요하고 자동화 권한을 요청할 수도 있습니다. 볼륨이 마운트되어 있고 저장 위치의 앱이 확실히 없을 때만 오래된 항목을 제거하며 목록을 다시 읽어 확인합니다. 제거할 수 없는 다른 백그라운드 기록은 보고만 합니다. 위치가 불명확하거나 접근할 수 없는 항목은 남깁니다.
App Nap을 끄는 설정과 디스크 이미지 검증을 생략하는 설정도 확인합니다. 여전히 활성화되어 있으면 해당 설정을 제거해 macOS 기본 동작으로 돌아가게 합니다.
마지막으로 이미지, 명령 링크와 권한을 확인합니다
마운트된 디스크 이미지는 이미지 파일을 남겨두고 추출을 시도합니다. 시스템 도구가 읽기 전용으로 보고하고 암호화 표시가 없으며 사용자 볼륨 디렉터리에 마운트된 이미지만 처리합니다. macOS가 관리하는 이미지는 제외합니다. 암호화 표시가 없다는 것이 비암호화를 입증하지는 않습니다. 읽기·쓰기 상태를 알 수 없으면 남깁니다. 사용 중인 이미지는 추출을 거부할 수 있고 강제하지 않습니다. 경과 시간 조건도 없어 막 마운트한 이미지가 대상이 될 수 있습니다.
네 곳의 고정 Homebrew·로컬 명령 디렉터리에서 대상이 없는 명령 링크도 확인합니다. 보고만 하고 링크를 남기며 문제 발견을 복구 완료로 계산하지는 않습니다. 디렉터리를 읽을 수 없으면 결과가 없을 수도 있습니다.
홈 폴더가 현재 계정 소유가 아니거나 사용자 Library에 쓸 수 없으면 시스템 도구로 그 계정의 홈 폴더 권한을 초기화합니다. 소유권과 접근 제어 목록이 바뀔 수 있습니다. 관리자 권한이 필요하고 범위는 현재 계정입니다. 개인정보 권한은 별도로 설정해야 합니다.
마지막은 macOS 정기 유지 관리입니다. 도구가 있고 일일 유지 관리 로그가 없거나 날짜를 판단할 수 없거나 칠 일보다 오래되었으면 관리자 권한으로 일일·주간·월간 스크립트를 실행합니다. 최근에 유지 관리했거나 도구가 없으면 건너뜁니다. 구체적인 작업은 해당 macOS 스크립트에 따라 달라집니다.
실행 뒤 원래 동작을 다시 해보세요
결과에는 완료, 건너뜀, 실패가 표시됩니다. 건너뜀은 불필요한 작업, 제외 목록 또는 접근 제한 때문일 수 있으므로 이유도 함께 읽으세요. 여러 파일을 처리하는 항목은 일부만 성공해도 완료로 표시될 수 있습니다. 실패해도 앞서 바뀐 내용은 자동으로 되돌아가지 않습니다.
취소하면 이후 단계를 멈추지만 시작된 명령이나 파일 묶음은 한동안 계속될 수 있습니다. 삭제한 내용이나 바꾼 설정은 자동으로 복구되지 않습니다. 명령별 시간 초과가 전체 최적화 시간 제한도 아닙니다.
CLI Optimize 제외 목록을 사용하면 열일곱 유지 관리 항목 중 열세 항목이 해당 설정을 읽습니다. 네 서비스 새로 고침, 두 Quick Look 초기화, 이미지 추출과 명령 링크 보고는 이 목록의 제어를 받지 않습니다.
입력기를 바꾸거나 미리보기를 열거나 같은 기기 사이에서 복사하는 등 문제가 있던 동작을 다시 해보세요. 정상적으로 작동하는 Mac은 매일 최적화할 필요가 없습니다. 느리게 느껴지면 메모리 압력을 보고 유지 관리 안내로 원인을 확인하세요. 가상 머신 디스크 회수는 Clean의 별도 확인 절차가 있는 기능으로 Optimize에는 포함되지 않습니다.