조각 모음은 실제로 무엇을합니까?


13

조각 모음은 실제로 무엇을합니까? 순서대로 실행되는 파일을 더 가깝게 배치합니까?

답변:


19

실제로 그것은 하나의 파일의 모든 다른 부분을 함께 모으기 때문에 특정 파일이 필요한 경우 하드 디스크는 파일의 모든 비트를 수집하기 위해 팔을 움직일 필요가 없습니다 (여기서는 실제 성능 차단기 임) . ==> 따라서 더 나은 성능 (항상 눈에 띄는 것은 아니지만).

이는 플래터 및 이동식 부품이있는 하드 디스크에만 적용됩니다. SSD의 경우 디스크의 위치와 상관없이 데이터를 가져 오는 데 동시에 시간이 걸리므로 문제가되지 않습니다. SSD를 조각 모음하는 것은 실제로 각 '섹터'에 쓸 수있는 횟수가 제한되어 있기 때문에 실제로 나쁜 생각입니다 ( '섹터'가 올바른 용어라고 생각하지 않지만, 제가 희망하는 바를 알고 있습니다).


3
SSD의 문제 일뿐만 아니라 조각 모음은 실제로 한계로 인해 나쁜 생각입니다.
Jeff Yates

실제로 나는 대답을 업데이트 할 것입니다.
fretje

13

조각 모음 프로그램에 따라 다릅니다.

최소한 단일 파일 또는 디렉토리의 클러스터를 연속 된 순서로 배치하여이를 수행 할 수있는 공간이있는 것이 목표입니다.

파일 및 디렉토리를 수집하는 경우 사용 프로파일에 따라 파일 및 디렉토리를 시퀀싱 할 수도 있습니다.

일부 파일을 이동하지 못할 수도 있습니다 (일반적으로 특정 개방 파일 및 시스템 파일).

조각 모음의 이유는 디스크에서 연속적인 블록 / 클러스터 시퀀스를 읽는 것보다 임의 읽기가 상당히 느리기 때문입니다. 그러나 모든 파일 시스템 또는 운영 체제가 (분리 된) 조각 모음 프로그램에 대해 동일한 요구 사항을 갖지는 않습니다.


조각 모음은 일반적으로 디스크의 여유 공간을 가능한 한 큰 덩어리로 그룹화합니다. 이렇게하면 새로 만든 파일이 처음부터 조각화되는 것을 방지하고 더 빨리 쓸 수 있습니다.
David Schwartz

3

조각 모음은 두 가지 작업을 수행 할 수 있습니다.

  • 파일의 모든 부분이 하드 드라이브의 연속 부분에 있는지 확인합니다. 대부분의 파일은 공간이있는 곳에 붙어있는 작은 "조각"으로 나뉩니다. 처음에는 계속 저장되지만 파일을 삭제 / 수정할 때 간격 / 불연속이 생성됩니다. 파일이 지속적으로 저장되면 더 빨리 읽을 수 있습니다.
  • 하드 드라이브의 위치를 ​​최적화합니다 (회전하는 하드 드라이브 만 해당). 하드 드라이브는 회전하는 디스크 모양의 플래터로 구성됩니다. 외부가 더 빠르게 회전하므로 지정된 시간 동안 더 많은 데이터가 읽기 / 쓰기 헤드 아래로 전달되므로 이러한 플래터 외부 근처에서 쓰기 / 읽기를 할 때 하드 드라이브의 성능이 향상됩니다.

또한 SSD 조각 모음에 대한 내용을 추가하고 싶습니다.

SSD 조각 모음

오래 전에 SSD 조각 모음이 여전히 관련성이 있고 필요한 이유를 게시하기로 약속했습니다. SSD를 사용하면 회전 할 물리적 플래터와 디스크 표면을 가로 질러 강하게 움직여야하는 읽기 / 쓰기 암이 없다는 것이 사실입니다. 이러한 이유로 조각 모음은 시간 낭비 인 것처럼 보입니다. 또한 SSD가 결국 마모되기 때문에 디스크 조각 모음처럼 단순한 재 작성주기를 낭비해서는 안된다고 주장 할 수도 있습니다.

SSD에 사용되는 NAND 플래시 메모리 기술에 대한 사실 중 하나는 데이터를 쓰는 것이 데이터를 읽는 것보다 훨씬 오래 걸린다는 것입니다. 표준 하드 디스크 기술과 마찬가지로 파일이 지워지면 디렉토리 정보 만 지워지고 데이터 셀이 다시 "사용 가능"으로 표시됩니다. 새로운 무언가가 그것을 덮어 쓸 때까지 데이터 자체는 여전히 손상되지 않습니다.

즉, "삭제 된"파일과 함께 메모리 공간을 사용하는 경우 다시 프로그램하기 전에 먼저 삭제해야합니다. 여유 공간이 조각난 경우 새 파일을 하나의 큰 쓰기 명령 대신 여러 개의 작은 쓰기 명령으로 나누어야합니다. 쓰기 속도가 느리기 때문에 SSD의 성능이 저하 될 수 있습니다 (특히 소규모 블록 쓰기 전송의 경우). 예, 캐시 메모리는이 성능 문제를 마스킹하는 데 도움이되지만 기술에 관계없이 하나의 긴 쓰기 명령이 여러 개의 짧은 쓰기 명령보다 항상 좋습니다.

성능을 극대화하려면 디스크를 정기적으로 조각 모음하십시오.

출처 : 박스 내부 Lenovo 블로그


3
당신이 인용 한이 사람은 틀 렸습니다. SSD는 내부적으로 여러 논리 블록에 대한 여러 쓰기를 단일 플래시 쓰기로 결합합니다. 읽기와 마찬가지로 임의 쓰기는 SSD에서 순차적으로 수행하는 것만 큼 빠릅니다.
psusi

4
웨어 레벨링 알고리즘으로 인해 대부분의 SSD 에서 데이터가 배치되는 위치를 제어 할 수도 없습니다 . 특수 소프트웨어를 사용하여 이러한 알고리즘을 극복 할 수는 있지만 대부분의 "기성품"소프트웨어는이를 차단하지 않습니다.
획기적인

모든 데이터를 여러 번 읽는 것만으로이 사람이 설명하는 것을 얻을 수 있습니다. 이렇게하면 SSD 자체에서 파일을 이동할지 여부를 결정할 수 있습니다. SpinRite 6올바른 설정에서 실행 된 것과 같은 도구를 사용하여이를 수행 할 수 있습니다.
Ramhound

1

하드웨어

다른 사람들이 언급했듯이 파일은 연속적으로 번호가 지정된 할당 단위로 저장됩니다.

하드 드라이브와 같은 회전식 미디어에서는 플래터가 더 많이 회전하지 않아도되고 헤드가 앞뒤로 튀어 나올 필요가 없으므로 데이터에 더 빠르게 액세스 할 수 있습니다. SSD에서는 성능상의 이점이 없습니다.

자료 복구

조각 모음에 대한 한 가지주의 할 점은 파일을 연속 할당 단위에 배치하면 데이터 복구가 더 쉽고 성공할 가능성이 높아진다는 것입니다. 실수로 파일을 삭제하거나 드라이브가 충돌하거나 바이러스에 감염되면 조각난 파일의 성공 가능성이 훨씬 줄어 듭니다.

파일이 드라이브 전체에 흩어져있는 여러 조각으로 분할 된 경우 어느 부분이 어디로 가고 어떤 파일에 속하는지 파악하기가 어렵 기 (종종 불가능)하기 때문입니다. 더 많은 파일을 포함하는 큰 드라이브에서는 더 문제가됩니다. 조각난 파일을 성공적으로 복구하려면 파일의 각 부분의 위치와 순서를 알아야하지만 파일이 있으면 복구 할 필요가 없습니다 .

파일이 조각화되지 않은 경우 파일의 시작 부분을 찾고 크기를 알거나 끝을 감지하는 방법 (예 : 파일 형식을 알고 있거나 새 파일이 언제 감지되는지 확인) 만하면됩니다. 시작).

데이터 복구에 도움이되는 한 가지 방법은 손상에 더 견딜 수 있고 FAT32를 통한 NTFS와 같은 더 나은 백업 및 복구 기능을 포함하는 파일 시스템을 사용하는 것입니다. 불행히도, 파일 시스템은 완벽하지 않으며 최고의 시스템조차도 여전히 데이터 손실의 영향을 받으므로 데이터 복구가 필요합니다.

추천

하드 드라이브를 사용하면 디스크 조각 모음을 수행 할 수 있습니다 (예 : 시스템이 유휴 상태가 될 때마다 자동으로 조각 모음을 예약하도록함으로써 작업을 정리하는 작업이 점점 줄어 듭니다)은 손실 된 파일을 복구 할 가능성을 높이는 데 도움이됩니다. SSD는 조각 모음에 적합하지 않기 때문에 조각 모음의 위험과 이점을 평가하고 드라이브를 마모 시키거나 정기적으로 백업하거나 중요한 데이터를 하드 드라이브에 저장해야합니다.


0

드라이브 조각 모음은 몇 가지 다른 작업을 수행 할 수 있습니다. 일반적으로 조각 모음 프로세스는 어떤 이유로 든 청크로 분할 된 파일을 찾습니다. 대부분의 경우 시간이 지남에 따라 드라이브에서 읽고 쓰는 경우에 발생합니다. 조각 모음 프로그램은 모든 조각을 모은 다음 디스크에서 해당 파일 전체가 들어갈 지점을 찾습니다. 어떤 경우에는 모든 가장 큰 파일을위한 장소를 만들기 위해 물건을 옮기는 쉘 게임이 될 수 있습니다.

이제이 모든 파일들을 하나로 모으는 것에 대해 할 말은 디스크에있는 읽기 / 쓰기 헤드의 일반적인 "탐색"시간과 관련이 있습니다. 디스크의 다른 곳에서 읽기 / 쓰기 헤드를 이동해야 할 때마다 일반적으로 수 밀리 초의 지연이 발생합니다. 한 위치에있는 파일을 읽을 때 파일을 계속 읽기 위해 읽기 / 쓰기 헤드가 전혀 멀리 이동할 필요는 없습니다. 이것은 디스크의 다른 지점으로 이동하는 것보다 훨씬 빠릅니다. 경우에 따라 읽기 / 쓰기를 수행하지 않을 때 읽기 / 오른쪽 헤드의 "랜딩 영역"에 가장 자주 액세스하는 시스템 파일을 배치하여 운영 체제를 최적화하기 위해 조각 모음을 수행 할 수 있습니다. 이것은 많은 경우에 속도를 상당히 높일 수 있습니다.

파일에 액세스 한 횟수에 대한 통계를 유지할 수있는 조각 모음 도구는 보지 못했지만 가장 자주 액세스하는 파일로 디스크를 먼저 쌓을 수 있습니다.


0

파일 시스템은 파일의 일부 를 디스크의 다른 위치에 놓는 경우가 있습니다 . 나중에이 파일에 액세스 할 때 파일에 액세스하려면 해당 위치로 이동해야하므로 시간이 더 걸립니다. 이를 단편화라고합니다. 기본적으로 디스크의 다른 위치에 파일 조각이 있습니다.

디스크 조각 모음을 수행하면 가능한 한 많은 파일이 완전히 저장되도록 디스크의 파일을 다시 정렬해야합니다.


0

파일 시스템, 조각 모음 및 HDD / SSD에 따라 다릅니다.

대부분의 파일은 각각 하나의 블록으로 통합됩니다. 이것이 "조각 모음"의 최소 요구 사항 및 정의입니다.

고급 조각 모음은 디렉토리를 먼저 이동합니다 (메가 바이트 당 평균 파일은 일반 파일보다 더 자주 액세스하므로). 그 다음에 최근에 액세스 한 파일이 뒤 따릅니다. 오랫동안 (일반적으로 90 일) 액세스하지 않은 파일은 액세스하는 파일을 더 짧게 검색 할 수 있도록 종종 끝 부분에 가깝게 배치됩니다.

NTF는 FAT보다 약간 작은 조각으로 보이지만 더 느리게 저하되는 것 같습니다. 중요한 파일 중 일부는 파티션의 앞쪽이 아니라 중간 부근에 있으며 최악의 경우 액세스 시간을 절반으로 줄입니다. 그래도 확실하지 않습니다.

SSD의 "검색 시간"은 마이크로 초 단위로 최소화됩니다. 검색을 위해 SSD를 조각 모음하면 잘못된 위치를 찾고 있습니다. (지능형 SSD 컨트롤러는 데이터를 이동하는 대신 이동하는 대신 업데이트 할 수 있습니다. "읽기 이전 데이터 읽기 + 동일한 데이터 쓰기 + TRIM 이전 데이터"패턴을 감지 할 때마다 쓰기주기와 런타임 조각 모음 모두에서 절약됩니다. 컨트롤러가 아직 없으면)

다시 한 번 생각하면 SSD는 의도적으로 칩에 쓰기를 분산시킵니다. 왜냐하면 칩이 더 빠르기 때문이며 조각화가 적 으면 쓰기가 적게 분산되어 쓰기 패턴이 느려질 수 있기 때문입니다. 그것이 사실이라면 고려해야 할 요소 일 수 있습니다.

항상 정기적으로 백업하십시오. 데이터를 쉽게 복구 할 수 있도록 디스크 조각 모음을 수행하는 경우 IT 부서가 잘못되었습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.