삭제 될 파일 수가 남은 파일보다 훨씬 많은 경우, 삭제 될 파일 트리를 걷고 모든 파일 시스템 업데이트를 수행하는 것이 가장 효율적인 방법은 아닙니다. (서투른 참조 카운트 메모리 관리를 수행하는 것과 유사합니다. 큰 트리의 모든 객체를 방문하여 참조를 삭제하는 대신 모든 것을 원치 않는 쓰레기로 만드는 대신 한 번에 정리할 수있는 항목을 청소합니다.)
즉, 다른 볼륨에 보관 될 트리 부분을 복제하십시오. 원래 볼륨에서 새로운 빈 파일 시스템을 다시 작성하십시오. 보유 된 파일을 원래 경로로 다시 복사하십시오. 이것은 가비지 콜렉션 복사 와 모호합니다 .
다운 타임이 있지만 지속적인 성능 저하 및 서비스 중단보다 더 나을 수 있습니다.
그것은 당신의 시스템과 상황에서 실용적이지 않을 수 있지만, 이것이 갈 길인 명백한 경우를 상상하기는 쉽습니다.
예를 들어, 파일 시스템에서 모든 파일 을 삭제하려고한다고 가정하십시오 . 하나씩 반복해서 삭제하는 요점은 무엇입니까? 그냥 마운트를 해제하고 빈 파일 시스템을 만들기 위해 파티션 위에서 "mkfs"를하십시오.
또는 6 가지 중요한 파일을 제외한 모든 파일을 삭제하고 싶다고 가정 해보십시오. 거기에서 십여 개를 가져 와서 "mkfs"를 맨 위로 가져옵니다.
결국 충분한 파일이 남아있을 때 중단 시간과 같은 다른 비용을 고려하여 재귀 삭제를 수행하는 것이 더 저렴 해지는 손익 분기점이 발생합니다.