큰 파일을 삭제하는 데 시간이 더 걸리는 이유는 무엇입니까?


30

rm파일에서 실행 하면 파일의 연결이 해제되어 파일 시스템의 여유 공간이 표시됩니다. 그런 다음 한 파일을 삭제하는 데 항상 거의 같은 시간이 걸립니다 (즉, 삭제 속도는 파일 크기가 아니라 파일 수에 비례합니다).

그렇다면 왜 15GB 파일을 삭제하는 데 간단한 시간이 걸리 rm file.tar.gz나요?


5
어떤 파일 시스템?
Shane Madden

8
많은 파일 시스템에서 사용 가능한 공간의 각 "블록"은 "사용 가능"으로 표시되어야합니다. 큰 파일에는 더 많은 블록이 있습니다. 그러나 모든 파일 시스템에 적용되는 것은 아닙니다!
Chris S

@ShaneMadden 좋은 질문; 지금 ext4이지만 다른 ext #에서도 나타났습니다.
Tom Marthenal

그렇기 때문에 모든 파일에 자체 가상화 파일 시스템이 있어야하므로 아이 노드를 맹목적으로 빨리 닦을 수 있습니다! <
JEST

1
이 경우 어떤 파일 시스템이 더 잘 작동합니까? 나는 지금 휴대용 드라이브를 사용하여 한 머신에서 다른 머신으로 큰 VM 디스크를 옮길 수 있습니다.
motobói

답변:


39

단일 블록 을 연결 해제하는 데 일정한 시간이 걸리지 만 단일 블록 크기를 초과하는 파일은 서로 연결된 여러 블록으로 구성되며 파일이 클수록 연결된 블록 수가 더 커집니다.


14
<BSD Zealot> mumble mumble UFS mumble mumble soft updates mumble mumble delete stuff 더 빠른 mumble mumble 팬케이크! </ BSD Zealot>
voretaq7

XFS는 큰 파일을 매우 빠르게 삭제하지만 많은 수의 작은 파일을 매우 느리게 삭제합니다.
앤드류

4
하나의 파일은 항상 하나의 inode 만 사용 합니다. 여러 데이터 블록을 사용합니다.
Simon Richter

2
그들을 모두 다스리는 하나의 블록, 그들을 찾기위한 하나의 블록, 그들을 모두 가져 오는 어둠의 한 블록.
Rqomey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.