ext2/3/4는 조각 모음을 수행할 필요가 없는 이유는 무엇입니까? 조각이 전혀 없나요?
답변1
최신 파일 시스템, 특히 다중 사용자 및/또는 다중 태스킹 사용 사례에서 효율적으로 설계된 파일 시스템은 파일 시스템이 가득 찰 때까지 데이터를 조각화하지 않습니다("거의 가득 참"이 어느 정도인지에 대한 정확한 숫자는 없습니다). "파일 시스템의 크기, 파일 크기 분포 및 액세스 패턴에 따라 달라지기 때문에 플래그를 지정합니다. 일반적으로 85%에서 95% 사이의 숫자가 인용됩니다.) 또는 파일 생성 및 쓰기 패턴이 비정상적이거나 파일 시스템이 정상이 아닙니다. 저는 나이가 많아서 ext2/3/4, reiser, btrfs, NTFS, ZFS 등을 포함하는 "액션"을 많이 보았습니다.
현재 ext3 또는 4 조각 모음을 위한 커널/파일 시스템 수준 방법은 없습니다(참조:http://en.wikipedia.org/wiki/Ext3#조각 모음자세히 알아보기) ext4는 곧 온라인 조각 모음을 수행할 예정입니다.
몇 가지 사용자 영역 도구가 있습니다(예:http://vleu.net/shake/및 해당 Wikipedia 문서에 나열된 기타 파일)은 개별 파일 또는 파일 세트를 복사/다시 작성하여 조각 모음을 시도합니다. 이로 인해 일반적으로 여유 공간 블록이 충분히 큰 경우 파일에 연속 블록이 제공됩니다. 그러나 이것이 파일이 서로 가깝다는 것을 보장하지는 않으므로 한 쌍의 큰 파일에 대해 shake를 실행하면 두 파일 자체가 조각 모음되지만 디스크에서 서로 옆에 있지는 않다는 것을 알 수 있습니다. 다중 사용자 파일 시스템에서는 일반적으로 서로에 대한 파일의 상대적인 위치가 중요하지 않습니다(파일 자체의 조각화만큼 중요하지는 않습니다). 왜냐하면 드라이브 헤드는 어쨌든 서비스를 제공하기 위해 뒤집어지기 때문입니다. 조각화되지 않은 파일 사이의 공간을 압도하는 다양한 사용자의 요구 사항 참조 지역성에는 대기 시간 이점이 있지만 대부분의 단일 사용자 시스템에서는 측정 가능한 이점을 제공할 수 있습니다.
시간이 지남에 따라 파일 시스템이 심각하게 조각화되고 현재 여유 공간이 상당한 경우 shake
모든 파일에서 이와 같은 작업을 실행하면 원하는 효과를 얻을 수 있습니다. 또 다른 방법은 모든 데이터를 새 파일 시스템에 복사하고 원래 파일 시스템을 삭제한 후 다시 다시 복사하는 것입니다. 이는 이와 비슷 shake
하지만 데이터 양이 많은 경우 더 빠를 수 있습니다.
소량의 잔해물이라도 걱정하지 마세요. 나는 몇 번의 정상 작동 동안 절약하는 것보다(보다 효율적인 디스크 액세스로 인해) 조각 모음 진행률 표시줄을 보는 데 더 많은 시간을 소비하는 사람들을 알고 있습니다!
답변2
디스크가 너무 많이 채워지지 않는 한 조각화는 많이 발생하지 않습니다. 따라서 가능하다면 디스크를 너무 많이 채우지 마십시오.