블로그로 돌아가기

중복된 파인더가 약속한 것보다 적은 공간을 확보하는 이유

중복 파인더는 40GB를 제공하고 Mac에서는 2GB를 확보합니다. APFS 복제 및 하드 링크가 추정치를 부풀리는 방법과 실제 절감액을 측정하는 방법을 알아보세요.

게시됨 2026년 8월 18일 작성자 Vladimir Chemeris 읽는 시간 읽는 데 5분
중복APFS맥 정리

중복 파인더는 Mac을 검색하여 제거할 수 있는 40GB의 중복 항목을 제공합니다. 이를 삭제하고 이 Mac 정보를 열면 여유 공간이 2GB만큼 이동했습니다.

아무것도 실패하지 않았습니다. 파일이 중복되었습니다. APFS에서는 두 파일이 동일한 양의 저장 공간을 보유하지 않고도 동일한 바이트를 보유할 수 있기 때문에 추정치는 여전히 잘못되었습니다.

짧은 버전: 중복 스캐너는 파일 크기를 측정합니다. 여유 공간은 블록에 따라 다릅니다. APFS에서는 클론이나 하드 링크가 포함되는 즉시 두 숫자의 일치가 중단됩니다.

빠른 답변

  • 복제본은 원본과 블록을 공유하는 별도의 파일이므로 한쪽을 삭제하면 갈라진 부분만 해제됩니다.
  • 하드 링크는 하나의 inode에 대한 두 번째 이름이므로 하나의 이름을 삭제해도 아무것도 해제되지 않습니다.
  • ls Finder는 모든 이름의 전체 크기를 보고하는데, 이는 크기 기반 스캐너가 합산하는 것과 정확히 같습니다.
  • ls -li 링크 수를 통해 하드 링크를 노출합니다. 클론은 표준 도구에 표시되지 않습니다.
  • 정직한 측정은 삭제 전후의 여유 공간입니다. df -h /System/Volumes/Data .
  • Time Machine 로컬 스냅샷은 이미 삭제한 파일 블록을 보관할 수 있으므로 해당 공간은 즉시 반환되지 않고 나중에 반환됩니다.
실제 복사본, APFS 클론, 하드 링크를 비교한 다이어그램: 두 번째 파일을 지우면 각각 4 GB, 거의 없음, 전혀 없음이 확보됨
세 가지 배열로 된 동일한 파일 쌍입니다. 두 번째 파일을 삭제하면 첫 번째 파일만 공간을 돌려줍니다.

중복 스캐너가 실제로 측정하는 것

모든 중복 파인더는 두 단계로 작동합니다. 일반적으로 크기별로 일치할 수 있는 파일을 그룹화한 다음 콘텐츠를 읽거나 해시를 비교하여 일치 여부를 확인합니다. 두 단계 모두 파일 내부의 바이트에 관심을 갖습니다.

저장소는 한 수준 아래에서 작동합니다. 파일 이름은 inode를 가리키고, inode는 블록을 가리키며, 여유 공간 카운터는 블록을 추적합니다. 두 이름이 동일한 블록을 공유하는 순간 파일 크기의 합은 디스크 설명을 중지합니다.

스캐너와 동일하게 보이는 세 가지 배열

실제 사본. 두 개의 파일, 두 개의 inode, 두 개의 블록 세트. 둘 중 하나를 삭제하면 디스크가 전체 크기를 반환합니다. 이것이 모두가 보고 있다고 가정하는 것입니다.

클론. APFS는 Finder에서 Duplicate(복제)를 누르고 실행할 때 클론을 생성합니다.cp -c, 그리고 앱이 호출할 때clonefile. 복제본은 자체 inode가 있는 실제 파일이지만 해당 데이터 포인터는 원본 블록을 참조합니다. 양쪽에 대한 쓰기는 쓰기 중 복사입니다. 변경된 블록은 별도로 기록되고, 변경되지 않은 블록은 공유된 상태로 유지됩니다. 한 번도 편집된 적이 없는 복제본은 비용이 거의 들지 않으며 삭제하면 거의 아무것도 반환되지 않습니다.

하드 링크. 두 개의 디렉토리 항목이 있는 하나의 inode. 두 번째 파일은 전혀 없고 두 번째 이름만 있습니다. 이름 하나를 제거하면 링크 수가 감소하고 데이터는 그대로 유지됩니다. 디스크는 성이 나오면 공간을 다시 제공합니다.

콘텐츠 기반 스캐너는 세 가지 경우 모두 동일한 바이트를 확인합니다. 파일 시스템 계층을 확인하지 않는 한 세 가지 모두에 대해 동일한 저장을 보고합니다.

추정치가 높게 나오는 이유

보고 계층이 문제이며 APFS보다 오래되었습니다. Finder는 복제본과 각 하드 링크의 전체 크기를 표시하며,ls -l. 둘 다 저장소가 공유된다는 사실을 알려주지 않습니다. 파일 크기를 합산하는 스캐너는 해당 오류를 직접 상속하며 작업 흐름이 Finder 중복 및 복제 인식 복사본에 더 많이 의존할수록 격차가 더 커집니다.

du특정 방식으로 더 잘 행동합니다. 단일 실행 내에서 inode는 한 번 계산되므로 하드 링크로 가득 찬 폴더는 실제 합계를 보고합니다. 클론은 별도의 inode이기 때문에 클론은 여전히 ​​두 번 계산됩니다.

결과는 비디오 프로젝트, 내보낸 렌더 또는 가상 머신 이미지(복사하는 대신 복제하는 파일)를 보유하는 Mac에서 크기 순서로 잘못될 수 있는 추정치입니다.

믿기 전에 확인해보세요

하드 링크를 찾으세요.ls -li 링크 수입니다.

ls -li ~/Movies/big.mov
# 12345678 -rw-r--r--  2 chama  staff  4294967296 Aug 18 09:12 big.mov
#                      ^ link count 2: another name points at the same data

위의 모든 것1 이 이름을 삭제하면 다른 이름도 삭제될 때까지 아무 것도 해제되지 않는다는 의미입니다.

실제 절감량을 측정하세요. 데이터 볼륨 전후에 여유 공간을 확보하세요.

df -h /System/Volumes/Data      # before
# delete the duplicates
df -h /System/Volumes/Data      # after

차이점은 디스크를 설명하는 유일한 숫자입니다. 삭제 전에 인쇄된 모든 내용은 예측입니다.

복제본은 보이지 않는 상태로 유지될 것으로 예상됩니다. 기본 macOS 시스템에는 “이 파일이 복제본입니까?”라고 대답하는 지원되는 명령이 없습니다. 이것이 바로 저축 추정치가 확실한 총계 대신 신뢰 수준을 가질 자격이 있는 이유입니다.

삭제됐는데, 아직 공백이 반환되지 않았습니다

두 가지 메커니즘은 중복이 실제인 경우에도 결과를 지연시킵니다.

Time Machine은 시동 디스크에 로컬 스냅샷을 보관하고, 스냅샷은 촬영 당시 존재했던 파일 블록을 보관합니다. 20GB 복제본을 삭제하면 해당 블록은 만료될 때까지 스냅샷에 할당된 상태로 유지됩니다. macOS는 이를 제거 가능한 공간으로 보고하고 디스크가 꽉 차면 자동으로 회수합니다. 다음과 같이 존재하는 것을 나열하십시오.

tmutil listlocalsnapshots /

휴지통은 더 간단한 경우이고 사람들을 더 자주 붙잡습니다. 휴지통에 있는 파일은 여전히 ​​블록을 차지합니다. 비운 후 측정하세요.

정직한 중복 신고는 어떤 모습일까요?

StorageRadar는 추정치를 검토 후에도 살아남아야 하는 주장으로 취급하므로 워크플로는 세 가지 규칙을 중심으로 구축됩니다.

바이트별로 일치하는 바이트를 확인하세요. 후보자는 크기별로 그룹화되고 3개 청크에 걸쳐 부분 SHA-256으로 선별된 다음 전체 SHA-256과 비교됩니다. Inode, 장치 및 크기는 작업 전에 다시 검증되므로 검사 중에 변경된 파일은 오래된 증거에서 제거될 수 없습니다.

숫자에 불확실성을 추가합니다. 예상 물리적 절감액은 null이 가능하고 신뢰도 값을 가지며 APFS 클론 및 하드 링크를 포함하여 낮아질 수 있는 이유를 나열합니다. 블록을 공유하는 중복 그룹은 보기보다 적게 해제되는 그룹으로 보고됩니다.

StorageRadar 중복 근거 화면: 318개 그룹, 논리적 회수 가능 38.1 GB, 물리적 추정 38.1 GB, 그리고 물리적 절감은 추정치로 표시된다는 안내
하나가 아닌 두 개의 숫자: 파일이 추가되는 내용과 디스크가 반환할 것으로 예상되는 내용입니다. 스크린샷은 실제 디스크가 아닌 StorageRadar의 쇼케이스 데이터 세트를 사용합니다.

키퍼 없이 그룹을 떠나지 마십시오. 선택 사항이 모든 복사본을 제거하는 경우 적용 단계가 차단되며, 제거는 기본적으로 휴지통과 짧은 실행 취소 창을 사용하여 이동하기 전에 테스트 실행 및 프리플라이트를 통해 실행됩니다.

클라우드 전용 파일도 그대로 유지됩니다. 데이터 없는 파일은 사용자가 허용하지 않는 한 해시되도록 다운로드되지 않습니다. 비교를 위해 200GB의 iCloud 아카이브를 구체화하는 것은 정리가 아니기 때문입니다.

실제 중복은 어디서 오는가

복제 인식 도구는 최신 Mac에서 실제 폐기물의 양을 조용히 줄여주므로 중복 항목이 여전히 전체 복사본으로 나타나는 위치를 찾는 데 도움이 됩니다.

  • 아래에 두 번 도착한 다운로드file.zip 그리고file (1).zip.
  • 프로젝트 옆에 작성된 내보내기 및 렌더링을 전송 폴더에 복사합니다.
  • 서로 다른 라이브러리로 두 번 실행되는 카메라 및 휴대폰 가져오기.
  • 동일한 디스크의 백업 디렉터리에 복사된 프로젝트 폴더는 백업이 아닌 복사본입니다.
  • 아카이브가 다른 목적지에 두 번 압축 해제되었습니다.

이는 자체 블록이 있는 일반 복사본이며, 추가 블록을 제거하면 전체 크기가 반환됩니다.

작동하는 순서

  1. 도구를 스캔하고 이름이나 크기가 아닌 콘텐츠별로 중복 항목을 확인하도록 합니다.
  2. 절감액 추정치를 범위로 읽고 도구에서 공유 스토리지를 허용하는지 확인합니다.
  3. 여유 공간을 기록하십시오.df -h /System/Volumes/Data.
  4. 휴지통을 통해 삭제하고, 그룹당 한 장씩 보관하고, 휴지통을 비우세요.
  5. 다시 측정하고 차이를 사실로 간주하십시오.

두 번째 측정 결과가 실망스럽다면 해당 파일은 낭비가 아닌 공유 저장소라는 의미입니다. 아무것도 손실되지 않았으며 디스크는 이미 보고서에서 제안한 것보다 작았습니다.

저자 소개

Vladimir Chemeris

창립자, StorageRadar

Vladimir Chemeris는 검토 우선 정리, 개발자 스토리지 및 전후 가시성에 초점을 맞춘 개인 정보 보호 우선 macOS 스토리지 분석 앱인 StorageRadar를 구축했습니다.

자주 묻는 질문

Mac에서 중복 항목을 삭제하면 공간이 거의 없는 이유는 무엇입니까?

복사본은 아마도 클론이거나 하드 링크였을 것입니다. APFS에서는 두 파일이 동일한 저장 블록을 공유할 수 있으므로 그 중 하나를 제거하면 서로 다른 블록만 해제됩니다. 스캐너는 파일 시스템이 각 이름에 대해 보고하는 것이므로 두 파일의 전체 크기를 계산했습니다.

APFS 클론 파일이란 무엇입니까?

복제본은 원본과 동일한 데이터를 가리키는 자체 inode가 있는 별도의 파일입니다. 양쪽에 대한 쓰기는 쓰기 중 복사이므로 내용이 분기될 때까지 쌍에 스토리지 복사본 하나가 필요합니다. Finder의 Duplicate 명령과 cp -c는 복제본을 생성합니다.

하드 링크는 클론과 어떻게 다릅니까?

하드 링크는 동일한 inode의 또 다른 이름이므로 두 개의 디렉토리 항목이 있는 하나의 파일 객체가 있습니다. 한 이름을 삭제해도 다른 이름이 여전히 해당 이름을 가리키고 있는 동안에는 저장 공간이 확보되지 않습니다. ls -li는 링크 수를 표시하며 1보다 큰 것은 다른 이름이 있음을 의미합니다.

APFS는 내 파일을 자동으로 중복 제거합니까?

아니요. APFS는 Finder, cp -c 또는 clonefile을 호출하는 앱을 통해 복제본이 명시적으로 생성된 경우에만 블록을 공유합니다. 동일한 바이트를 보유하는 두 개의 파일은 여전히 ​​두 개의 저장소 복사본을 차지합니다.

정리로 인해 실제로 확보된 공간이 얼마나 되는지 측정하려면 어떻게 해야 합니까?

df -h /System/Volumes/Data를 사용하여 삭제 전후의 여유 공간을 기록하고 비교합니다. 중복된 파인더에 의해 인쇄된 추정치는 예측이며, APFS에서는 예측이 양방향으로 틀릴 수 있습니다.

실제 중복을 삭제했는데도 여유 공간이 반환되지 않는 이유는 무엇입니까?

Time Machine 로컬 스냅샷은 삭제된 파일의 블록이 얇아질 때까지 보관하므로 공간이 비어 있는 것이 아니라 제거 가능한 것으로 표시됩니다. tmutil listlocalsnapshots /로 나열하고 자동 얇아짐 또는 여유 공간을 명시적으로 기다립니다.

출처 및 참고자료

불확실성이 첨부된 절감액 추정치를 확인하세요.

StorageRadar는 중복 후보 바이트를 바이트 단위로 비교하고 APFS 복제 또는 하드 링크로 인해 여유 공간이 파일 크기보다 작아지는 경우를 표시합니다.