맨위로가기

단편화 제거

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

파일 단편화 제거는 파일 시스템이 파일을 저장할 때 연속적인 공간을 할당하지 못하거나 않으려 할 때 발생하며, 이로 인해 파일 접근 속도가 느려지고 저장 장치의 수명이 단축될 수 있다. 단편화는 파일의 생성, 삭제, 수정이 빈번하게 일어날 때, 특히 하드 디스크 드라이브(HDD)에서 두드러지게 나타난다. 이러한 단편화를 해결하기 위해 디스크 조각 모음이 사용되며, 이는 파일 조각들을 재배치하여 파일 접근 속도를 향상시키는 방법이다.

조각 모음은 HDD에서는 효과적이지만, SSD(Solid State Drive)에서는 불필요하며 오히려 수명을 단축시킬 수 있다. SSD는 플래시 메모리를 기반으로 하여 임의 접근 속도가 빠르고, 내부적으로 웨어 레벨링과 가비지 컬렉션 등의 기술을 사용하여 데이터 관리를 하기 때문이다. 운영체제별로 디스크 조각 모음 도구를 제공하며, Windows는 SSD에 TRIM 명령을 사용하고, macOS는 자동 조각 모음 기능을 갖추고 있다.

더 읽어볼만한 페이지

  • 파일 시스템 관리 - 하드 디스크 드라이브
    하드 디스크 드라이브(HDD)는 자기 기록 방식으로 데이터를 저장하는 비휘발성 저장 장치로, 꾸준히 발전하여 대용량 저장이 가능하지만 SSD의 등장으로 시장 점유율이 감소하고 있으며 웨스턴디지털, 씨게이트, 도시바가 주요 제조업체이다.
  • 파일 시스템 관리 - 디스크 포맷
    디스크 포맷은 운영 체제와 응용 프로그램이 디스크를 사용하도록 준비하는 과정으로, 기록 블록 표시 및 파일 시스템 구성 단계를 포함하며, 로우 레벨 포맷, 파티셔닝, 하이 레벨 포맷으로 나뉘어 디스크 사용 목적과 운영 체제 호환성을 확보하는 데 중요한 역할을 한다.
  • 수학적 최적화 - 제약된 최적화
    제약된 최적화는 제약 조건을 만족하는 해 중에서 목적 함수를 최적화하는 해를 찾는 문제로, 자원 할당, 스케줄링 등에 활용되며, 다양한 제약 조건과 해법을 통해 해결될 수 있습니다.
  • 수학적 최적화 - 모서리해
    모서리 해는 경제학에서 소비자가 예산 제약 하에 효용을 극대화할 때, 두 상품 중 하나만 소비하는 경우를 의미하며, 이는 소비자의 극단적인 선택이나 완전 대체재 관계에서 가격이 낮은 상품만 구매하는 경우 등에 나타나는 현상입니다.
  • 데이터 관리 - 데이터 센터
    데이터센터는 컴퓨터 시스템 및 관련 장비와 지원 인프라를 수용하는 시설로, 기술 발전에 따라 규모와 중요성이 확대되었으며, 에너지 효율과 보안을 고려하여 설계 및 운영되고, TIA-942 표준에 따른 티어 분류와 친환경 기술 도입이 이루어지고 있다.
  • 데이터 관리 - 정보 아키텍처
    정보 아키텍처는 정보 시스템 및 정보 기술 분야에서 공유 정보 환경의 구조적 설계를 의미하며, 웹사이트, 소프트웨어 등의 구성과 레이블링을 포함하여 검색 용이성과 사용성을 지원하고, 도서관정보학에 기원을 두고 있다.
단편화 제거
개요
조각 모음 전후 디스크 상태 비교 그림
조각 모음 전후 디스크 상태 비교
유형디스크 유지 관리
설명파일 시스템 단편화를 줄이는 과정
상세 내용
목표파일 시스템에서 사용되는 연속된 저장 공간을 재구성하여 파일 접근 속도를 향상시키고 저장 효율성을 개선하는 것
원리단편화된 파일을 물리적으로 디스크에서 연속된 공간으로 옮겨 파일 시스템의 성능을 최적화
자주 사용되는 파일들을 디스크의 더 빠른 영역으로 이동시켜 접근 시간을 단축
작동 방식디스크를 분석하여 단편화된 파일들을 식별
파일을 재배치하여 연속된 저장 공간을 확보
빈 공간들을 통합하여 새로운 파일을 저장하기 용이하게 만듦
장점파일 접근 속도 향상
시스템 부팅 시간 단축
프로그램 실행 속도 개선
디스크 수명 연장 (HDD의 경우)
단점SSD에서는 불필요하며 오히려 수명을 단축시킬 수 있음
대용량 디스크에서는 상당한 시간이 소요될 수 있음
조각 모음 중 시스템 성능 저하 발생 가능
기술적 측면
알고리즘다양한 알고리즘이 사용되며, 파일 시스템 및 운영체제에 따라 최적화된 알고리즘이 적용됨
일반적인 알고리즘: 파일 재배치, 빈 공간 통합, 자주 사용하는 파일 우선 배치
파일 시스템 지원대부분의 현대적인 파일 시스템 (NTFS, ext4 등)에서 조각 모음 기능을 지원
파일 시스템 자체적으로 단편화를 방지하는 기능 포함 (Copy-on-write 등)
운영체제 지원마이크로소프트 윈도우: 내장 디스크 조각 모음 도구 제공, 자동 조각 모음 스케줄링 가능
macOS: 파일 시스템 자체에서 자동 단편화 방지 기능 제공 (HFS+, APFS)
리눅스: `defragfs`, `e4defrag` 등의 유틸리티를 사용하여 단편화 제거 가능
추가 정보
주의사항SSD(Solid State Drive)에서는 조각 모음이 불필요하며, 오히려 수명을 단축시킬 수 있으므로 권장되지 않음
조각 모음 전에 중요한 데이터는 백업하는 것이 안전함
관련 용어단편화 (Fragmentation)
파일 시스템 (File System)
디스크 최적화 (Disk Optimization)

2. 파일 단편화의 원인 및 영향

파일 단편화는 파일 시스템이 파일을 디스크에 저장할 때, 연속적인 공간을 할당하지 못하고 파일의 일부를 기존 파일 사이의 빈 공간에 나누어 저장하면서 발생한다. 이는 파일의 생성, 수정, 삭제가 반복되면서 발생하는 자연스러운 현상이다. 특히 로그 파일, 이메일, 웹 브라우저 캐시와 같이 자주 추가 및 삭제되는 파일이나 비디오와 같이 큰 파일은 단편화를 가속화시킨다.[22]

파일 단편화가 발생하면, 하나의 파일이 디스크 여기저기에 흩어져 저장되므로 파일을 읽을 때 디스크 헤드가 더 많은 거리를 이동해야 한다. 이는 파일 접근 속도를 느리게 만들고, 하드 디스크 드라이브(HDD)의 경우 디스크 장치의 수명을 단축시킬 수도 있다.[22] 파일 시스템에서 단편화를 허용하는 이유는 데이터 관리의 유연성 때문이지만, 단편화가 심해지면 시스템 성능 저하를 유발할 수 있다.

최근의 운영 체제에는 조각 모음의 악영향을 줄이기 위한 기술이 탑재되어 있다. 예를 들어, 윈도우 XP프리페처(Prefetcher), 윈도우 비스타의 윈도우 슈퍼페치(Windows SuperFetch) 등은 자주 사용하는 파일의 이력을 저장해두고, 백그라운드에서 미리 읽어 메모리에 저장해 둔다.

2. 1. 파일 단편화 발생 원인

파일 단편화는 다음과 같은 원인으로 발생한다.

  • 파일 시스템의 파일 할당 방식: 파일 시스템이 파일을 저장할 때 연속적인 공간을 할당하지 못하고, 기존 파일 사이의 빈 공간에 파일의 일부를 나누어 저장할 때 발생한다. 이러한 빈 공간은 파일을 삭제하거나, 파일을 처음에 과도하게 큰 공간에 할당했을 때 주로 발생한다.[22]
  • 파일 생성, 수정, 삭제: 파일을 추가, 수정, 삭제하는 과정에서 빈 공간이 발생하고, 이 빈 공간에 새로운 파일이 할당되면서 단편화가 발생한다. 특히 로그 파일, 이메일, 웹 브라우저 캐시와 같이 자주 추가 및 삭제되는 파일이나 비디오와 같이 큰 파일은 단편화를 가속화시킨다.


간단한 예시를 통해 파일 단편화 발생 과정을 살펴볼 수 있다.

1. 초기 상태□ = 빈 공간, ■・◆・★ = 파일
■■■■■◆◆◆◆◆★★★★★□□□□□



위 표는 비어있는 디스크에 5개의 파일(■, ◆, ★)이 순서대로 저장된 초기 상태를 나타낸다. 각 파일은 10개의 공간 블록을 차지한다.

2. 파일 ◆ 삭제□ = 빈 공간, ■・◆・★ = 파일
■■■■■□□□□□★★★★★□□□□□



파일 ◆를 삭제하면 위 표와 같이 빈 공간(□)이 생성된다.

3. 삭제된 파일보다 큰 파일 ● 기록□ = 빈 공간, ■・◆・★・● = 파일
■■■■■●●●●●★★★★★●●●□□



삭제된 파일 ◆보다 큰 파일 ●을 기록하면, 파일 ●은 ■ 다음에 오는 빈 공간에 모두 들어가지 못하고 두 부분으로 나뉘어 저장된다. 이것이 바로 단편화이다. 이 상태에서 파일 ●을 읽으려면 디스크 헤드가 두 위치를 모두 찾아야 하므로 시간이 더 오래 걸린다.

하드 디스크 드라이브(HDD)와 같은 디스크식 저장 장치에서는 이러한 단편화가 파일 접근 속도를 느리게 하고, 디스크 장치의 수명을 단축시킬 수 있다.[22]

2. 2. 파일 단편화의 영향

파일이 단편화되면, 하나의 데이터가 디스크 여기저기에 흩어져 있는 상태가 되어, 파일 접근 속도가 느려진다.[22] 이는 디스크 헤드를 불필요하게 많이 움직여야 하기 때문이며, 하드 디스크 드라이브(HDD)의 경우 디스크 장치의 수명을 단축시킬 우려도 있다.[22] 빈 영역이 단편화되면, 큰 파일을 생성할 때 단편화되기 쉬워진다.

파일 시스템에서 굳이 단편화를 허용하는 이유는 데이터의 유연한 관리를 위해서이다. 하지만 단편화가 심해지면 시스템 성능에 영향을 줄 수 있다.

다섯 가지 조각화 상태의 예


예를 들어, 비어있는 디스크에 10개의 공간 블록을 사용하는 5개의 파일(A부터 E까지)이 순차적으로 할당되어 있다고 가정하자. 만약 파일 B가 삭제되면, 해당 공간은 비어있는 것으로 표시되거나, B 이후의 모든 파일을 이동하여 빈 공간을 끝에 위치시킬 수 있다. 파일을 이동하는 것은 시간이 많이 소요될 수 있으므로, 일반적으로 빈 공간은 그 자리에 남겨두고 새 파일에 사용할 수 있도록 표시된다.

새로운 파일 F가 6개의 공간 블록을 필요로 하는 경우, 파일 B가 있던 공간의 처음 6개 블록에 배치되고, 나머지 4개 블록은 사용 가능한 상태로 남는다. 만약 4개의 블록만 필요한 파일 G가 추가되면, F 뒤와 C 앞에 있는 공간을 차지할 수 있다.

그러나 파일 F를 확장해야 하는 경우, F 바로 뒤의 공간을 사용할 수 없으므로 다음과 같은 세 가지 옵션이 있다.

# 파일 F를 새 크기의 하나의 연속적인 파일로 생성할 수 있는 위치로 이동한다.

# F 이후의 모든 파일을 이동하여 공간을 확보한다.

# 다른 곳에 새로운 블록을 추가하고 F가 여러 ''extent''를 갖도록 표시한다.

이러한 작업을 반복하면 파일 시스템에는 여러 위치에 흩어져 있는 작은 무료 세그먼트가 많이 생기고, 일부 파일은 여러 extent를 갖게 된다. 파일에 이처럼 많은 extent가 있으면, 디스크가 읽을 때 무작위로 검색해야 하므로 해당 파일에 대한 접근 시간이 길어질 수 있다.

“조각화”는 디스크에서 여러 extent를 가진 개별 파일에만 국한되지 않는다. 예를 들어, 특정 순서로 읽히는 파일 그룹(예: 프로그램 로드시 액세스하는 파일)은 개별 파일이 조각화되지 않아도 디스크에서 순차적 로드 순서가 아닌 경우 조각화된 것으로 간주될 수 있다.

다음은 단편화의 예시이다.

1. 초기 상태■■■■■◆◆◆◆◆★★★★★□□□□□
2. 파일 ◆ 삭제■■■■■□□□□□★★★★★□□□□□
3. 삭제된 파일보다 큰 파일 ● 기록■■■■■●●●●●★★★★★●●●□□



파일 ●이 차지하는 크기가 ■ 다음에 오는 빈 공간에 맞지 않아 두 개로 분할되었다. 이 상태에서 파일 ●을 읽으려고 하면 두 위치 모두에 접근해야 한다.

HDD의 경우, 연속되지 않은 영역에 접근하는 것은 시간이 더 걸리므로, 속도가 느려지는 원인이 된다. 하드 디스크에 대한 접근 시간은 다음 공식으로 구할 수 있다.

: 접근 시간 = 평균 위치 결정 시간 + 평균 회전 대기 시간 + 데이터 전송 대기 시간

평균 위치 결정 시간과 평균 회전 대기 시간은 파일의 단편화 수에 비례한다. 따라서 단편화를 줄이면, 전체 파일 접근에서 평균 위치 결정 동작과 평균 회전 대기 동작을 줄일 수 있으므로, 읽기/쓰기 속도 향상을 기대할 수 있다.

하지만, 최근의 운영 체제에는 조각 모음의 악영향을 줄이기 위한 기술이 탑재되어 있다. 예를 들어, 윈도우 XP프리페처(Prefetcher), 윈도우 비스타의 윈도우 슈퍼페치(Windows SuperFetch) 등은 자주 사용하는 파일의 이력을 저장해두고, 백그라운드에서 미리 읽어 메모리에 저장해 둔다.

3. 파일 단편화 해결 방법: 디스크 조각 모음

디스크 조각 모음은 파일이나 빈 영역을 저장 장치 내에서 연속적으로 재배치하여 단편화를 줄이는 작업으로, 파일 접근 속도 향상에 기여한다.[22]

MS-DOS와 Windows에 기본 포함된 "디스크 조각 모음"이 대표적인 조각 모음 프로그램이다. Windows 2000과 Windows XP에는 Diskeeper의 기능 제한판이 탑재되었다.

Diskeeper, PerfectDisk, O&O Defrag, Norton SpeedDisk, TechTool Pro 등 다양한 상용 조각 모음 소프트웨어도 존재한다. 소프트웨어를 사용하지 않는 조각 모음 방법으로는 저장 장치 백업 후 데이터를 삭제하고 백업에서 데이터를 다시 읽어 들이는 방식이 있다.

3. 1. 디스크 조각 모음의 원리

조각 모음은 파일 익스텐트(물리적 할당 블록)를 이동하여 결국 하나로 합쳐지도록 하는 작업이다. 이 작업은 일반적으로 최소 두 번의 복사 작업을 필요로 한다. 첫 번째는 블록을 디스크의 여유 공간으로 이동하여 추가 이동을 가능하게 하고, 두 번째는 블록을 최종 위치로 이동하는 것이다. 이러한 방식은 디스크에서 데이터가 제거되지 않으므로 전원 손실이 발생하더라도 작업을 안전하게 중단할 수 있다.[1]

디스크 조각 모음을 수행하려면 조각 모음 소프트웨어("디프래그멘터"라고도 함)가 사용 가능한 여유 공간 내에서 파일을 이동할 수 있어야 한다. 여유 공간이 거의 없는 파일 시스템에서는 이 작업이 불가능하며, 조각 모음 중에는 시스템 성능이 저하될 수 있다. 따라서 조각 모음 중에는 컴퓨터를 가만히 두는 것이 좋다. 조각 모음에 관련된 재구성은 파일의 논리적 위치(디렉토리 구조 내 위치)를 변경하지 않는다.[1]

조각 모음 도구는 프로그램 파일 조각 모음 외에도 프로그램 로드 및 파일 열기 시간을 줄일 수 있다. 예를 들어, Windows 9x 조각 모음기에는 프로그램 파일과 종속 파일을 프로그램이 로드하는 순서대로 서로 옆에 배치하여 디스크에서 프로그램을 최적화하는 기능이 포함되어 있어 프로그램 로딩 속도를 높였다.[1] Windows에서 좋은 조각 모음기는 미리 가져오기 파일을 읽어 가능한 많은 파일 그룹을 식별하고 파일 내의 액세스 순서대로 파일을 배치한다.

하드 디스크 드라이브의 시작 부분에 있는 외부 트랙은 내부 트랙보다 데이터 전송 속도가 더 빠르다. 따라서 자주 액세스하는 파일을 외부 트랙에 배치하면 성능을 향상시킬 수 있다.[2] MyDefrag와 같은 타사 조각 모음기는 자주 액세스하는 파일을 외부 트랙으로 이동하고 이러한 파일을 조각 모음한다.[3]

RAM 캐시, 더 빠른 플래터 회전 속도, 명령 대기열 (SCSI/ATA TCQ 또는 SATA NCQ) 및 더 큰 데이터 밀도와 같은 현대 하드 드라이브의 개선으로 시스템 성능에 대한 조각화의 부정적인 영향이 어느 정도 줄었다. 그러나 일반적으로 사용되는 데이터 양의 증가가 이러한 이점을 상쇄한다. 현대 시스템은 현재 사용 가능한 엄청난 디스크 용량으로 인해 큰 이점을 얻는데, 부분적으로 채워진 디스크는 가득 찬 디스크보다 조각화가 훨씬 덜하기 때문이다.[4] 또한 고용량 HDD에서는 동일한 파티션이 더 작은 범위의 실린더를 차지하여 더 빠른 탐색이 가능하다. 그러나 평균 액세스 시간은 플래터 회전의 절반보다 낮을 수 없으며, 플래터 회전(rpm으로 측정)은 수십 년 동안 데이터 전송 속도 및 탐색 시간에 비해 가장 느린 성장을 경험한 HDD의 속도 특성이므로, 대부분의 스토리지 사용량이 많은 애플리케이션에서 탐색 횟수를 최소화하는 것이 여전히 유리하다. 조각 모음은 파일당 최대 하나의 탐색만 보장한다.

스왑 파일과 같이 이동할 수 없는 시스템 파일은 단편화 제거를 방해할 수 있다. 이러한 파일들은 운영 체제가 사용 중이 아닐 때 안전하게 이동할 수 있다. 예를 들어, ntfsresize는 이러한 파일을 이동하여 NTFS 파티션의 크기를 조정한다. PageDefrag 도구는 부팅 시 GUI가 로드되기 전에 실행하여 스왑 파일 및 윈도우 레지스트리를 저장하는 파일과 같은 Windows 시스템 파일을 조각 모음할 수 있지만, Windows Vista 이후 이 기능은 완전히 지원되지 않으며 업데이트되지 않았다.

NTFS에서 파일이 추가됨에 따라 마스터 파일 테이블(MFT)이 증가해야 한다. MFT가 일부 파일로 인해 확장될 수 없을 때마다 MFT는 조각을 얻게 된다. 이전 버전의 Windows에서는 파티션이 마운트된 상태에서는 안전하게 조각 모음을 수행할 수 없었지만, Windows XP 이후 Windows 조각 모음 API가 개선되어 해당 이동 작업을 지원하기 때문에 점점 더 많은 수의 조각 모음 도구가 이제 MFT를 조각 모음할 수 있다.[5]

전통적인 전기 기계식 하드 디스크 드라이브에서 데이터를 읽을 때 디스크 컨트롤러는 먼저 헤드를 특정 조각이 있는 트랙으로 이동시켜야 하며, 디스크 플래터가 회전하여 해당 조각이 헤드에 도달할 때까지 기다려야 한다. 솔리드 스테이트 드라이브(SSD)는 움직이는 부품이 없는 플래시 메모리를 기반으로 하므로, 플래시 메모리에서 파일 조각에 대한 임의 접근은 이러한 지연이 없어 접근 속도를 최적화하기 위한 조각 모음이 필요하지 않다. 또한 플래시 메모리는 고장 나기 전에 제한된 횟수만 쓸 수 있으므로 조각 모음은 실제로 해롭다. 그러나 Windows는 여전히 SSD를 자동으로 조각 모음하여 (강도는 약하지만) 파일 시스템이 최대 조각화 허용 오차에 도달하는 것을 방지한다 (메타데이터가 더 이상 파일 조각을 나타낼 수 없을 때). 최대 조각화 제한에 도달하면 디스크에 쓰려는 후속 시도가 실패한다.[6]

3. 2. 디스크 조각 모음의 효과

하드 디스크 드라이브(HDD)와 같은 디스크식 저장 장치에서 파일의 생성과 삭제를 반복하면, 파일이 차지하는 영역이 점점 분산되는 단편화가 발생한다.[22] 파일이 단편화되면 하나의 데이터가 디스크 여기저기에 흩어져 있는 상태가 되어, 불필요하게 디스크 헤드를 많이 움직여야 하므로 파일 접근이 느려지고, 디스크 장치의 수명이 단축될 수 있다. 빈 영역이 단편화되면, 큰 파일을 생성할 때 단편화되기 쉬워진다.

디스크 조각 모음은 이러한 단편화된 상태를 정리하여 파일이나 빈 영역을 저장 장치 내에서 연속적으로 재배치함으로써 파일 접근 속도를 향상시킬 수 있다.

하드 디스크에 대한 접근 시간은 다음 공식으로 구할 수 있다.

: 접근 시간 = 평균 위치 결정 시간 + 평균 회전 대기 시간 + 데이터 전송 대기 시간

평균 위치 결정 시간과 평균 회전 대기 시간은 파일의 단편화 수에 비례한다. 데이터 전송 대기 시간은 파일 크기에 비례한다. 저장 장치 전체에서 파일의 단편화를 줄이면, 전체 파일 접근에서 평균 위치 결정 동작과 평균 회전 대기 동작을 줄일 수 있으므로, 읽기/쓰기 속도 향상을 기대할 수 있다. 단, 데이터 전송 대기 시간은 변하지 않는다. 따라서 단편화 해소는 '''용량이 작은 파일에 효과가 크지만, 용량이 큰 파일에는 효과가 적다'''.

하드 디스크에는 데이터가 ZCAV 형식으로 기록되어 있기 때문에 디스크의 회전 속도와 기록 밀도가 일정하다. 하드 디스크의 외주부 데이터 전송 속도는 내주부 데이터 전송 속도에 비해 빠르다. 읽기 빈도가 높은 파일을 디스크 외주부에 배치하면 데이터 전송 대기 시간을 단축할 수 있다. 파일을 빈틈없이 배치함으로써 파일을 전체적으로 디스크 외곽으로 이동시킬 수 있다. 따라서 읽기 속도가 빨라진다. 또한 대용량 파일을 쓸 때 단편화가 일어나기 어려워진다. 하지만 파일 바로 뒤에 빈 영역이 존재하지 않는 경우에는 파일에 추가 기록을 할 때 파일 단편화가 발생하기 쉬워진다.

3. 3. 디스크 조각 모음 시 주의사항

디스크 조각 모음을 할 때는 다음 사항에 주의해야 한다.

  • 조각 모음 중에는 시스템 성능이 저하되므로, 컴퓨터를 가만히 두는 것이 좋다. 조각 모음기가 파일 시스템의 예기치 않은 변경 사항으로 인해 혼란을 겪지 않도록 하기 위해서다.[1]
  • 조각 모음은 집약적인 작업이며, 여유 공간이 거의 없는 파일 시스템에서는 수행할 수 없다.[1]
  • 주기적인 단편화 제거를 통해 디스크의 성능을 최대한 유지하고 단편화로 인한 과도한 오버헤드 문제를 막을 수 있다.[1]
  • 하드 디스크 드라이브(HDD)와 같은 디스크식 저장 장치는 조각 모음을 통해 파일 접근 속도를 향상시킬 수 있지만, SSD는 조각 모음이 불필요하거나 다른 방식의 최적화가 필요하다.
  • 조각 모음 처리 자체는 연속적인 읽기/쓰기 동작을 디스크 장치에 요구하므로, 디스크 장치의 수명을 단축시킬 가능성이 있다. 어느 정도의 단편화에서 디스크 조각 모음을 실행해야 하는지는 경험에 따라 결정된다.[22]

4. 다양한 운영체제에서의 디스크 조각 모음

윈도우 디스크 조각 모음 유틸리티


다양한 운영체제에서 사용하는 파일 시스템과 그에 따른 조각 모음 도구 및 방법은 다음과 같다.

운영체제파일 시스템조각 모음 도구/방법비고
도스, 윈도우 9xFAT디프래그(Defrag)노턴 스피드디스크의 기능 제약판 (도스), 디스키퍼 라이선스 (윈도우)
윈도우 2000, 윈도우 XPNTFS, FAT디스크 조각 모음디스키퍼 기반
윈도우 비스타, 윈도우 7, 윈도우 8, 윈도우 10, 윈도우 11NTFS, FAT디스크 조각 모음개선된 버전, 시각적 디스크 맵 없음
macOSHFS+자동 조각 모음20MiB 미만 또는 8개 이상 조각난 파일 자동 조각 모음, 사용자 조각 모음 불필요[28]
리눅스Ext 계열 (ext2, ext3, ext4) 등일반적으로 불필요파일 시스템 구조상 조각 발생 확률 낮음, 필요시 e2defrag(ext2), e4defrag(ext4) 등 사용
BSD UFS내부 재할당기정보가 디스크에 기록되는 순간에 조각화를 줄임[12]
Btrfs온라인 및 자동 조각 모음[13][14]
VxFS`fsadm` 유틸리티
JFS`defragfs` 유틸리티[18]
WAFL`reallocate` 명령
XFS`xfs_fsr` 온라인 조각 모음 유틸리티
SFS조각 모음 기능을 거의 완전히 상태 비저장 방식으로 처리[20]
ADFS수동 조각 모음 없이 파일 조각화를 제어[21]



윈도우 비스타에서는 초기 설정으로 일주일에 한 번 디스크 조각 모음이 자동 실행되도록 설정되어 있다. 디스크 조각 모음 실행 중에는 디스크 접근 속도가 저하되므로, 마이크로소프트는 컴퓨터 사용 중에는 디스크 조각 모음을 끄도록 권고하고 있다[26]

4. 1. 윈도우 (Windows)

윈도우 운영체제는 파일 시스템의 단편화를 제거하기 위해 다양한 버전에서 "디스크 조각 모음" 도구를 제공해 왔다.

  • '''도스, 윈도우 9x''': 도스 6.x 이전에는 노턴 스피드디스크와 같은 별도 도구를 사용해야 했다. 도스 6.x와 윈도우 9x는 FAT 파일 시스템을 지원하며, 노턴 스피드디스크의 기능 제약판인 디프래그(Defrag) 도구를 기본 제공했다. 윈도우 버전은 디스키퍼로부터 사용 권한을 얻었다.[7]
  • '''윈도우 2000, 윈도우 XP''': NTFSFAT 파일 시스템을 모두 지원하며, 디스키퍼 기반의 디스크 조각 모음 도구를 제공한다. 윈도우 NT 4 이하 버전에는 내장된 단편화 제거 도구가 없었다.[9] Windows XP 이후 Windows 조각 모음 API가 개선되어 마스터 파일 테이블(MFT) 조각 모음을 지원하게 되었다.[5]
  • '''Windows Vista, Windows 7, Windows 8, Windows 10, Windows 11''': 디스크 조각 모음 도구가 크게 개선되었고, 시각적 디스크 맵이 없는 새로운 인터페이스를 제공하며, 더 이상 컴퓨터 관리의 일부가 아니다.[10][11]


스왑 파일과 같이 이동할 수 없는 시스템 파일은 단편화 제거를 방해할 수 있다. PageDefrag 도구는 부팅 시 GUI가 로드되기 전에 스왑 파일 및 윈도우 레지스트리를 저장하는 파일과 같은 Windows 시스템 파일을 조각 모음할 수 있었지만, Windows Vista 이후 이 기능은 완전히 지원되지 않는다.

4. 2. macOS

HFS+를 채택하는 macOS에서는 자동 디스크 조각 모음 기능이 백그라운드에서 상시 실행되고 있다. 운영 체제는 20MiB 보다 크기가 작은 파일이나 8개 이상으로 조각난 파일을 열 때 자동으로 단편화를 제거한다.[28] 디스크 조각 모음은 조금씩 자동으로 실행되므로, 사용자가 의식할 기회는 없다. 또한 파일 전후에 일부러 빈 영역을 확보함으로써 단편화가 일어나기 어렵게 되어 있으며, 애플에서는 사용자에 의한 단편화 제거를 권장하지 않는다.[29][27]

4. 3. 리눅스 (Linux)

리눅스는 다양한 배포판이 존재하기 때문에 경우에 따라 다르다. 대체로 리눅스 배포판에서 조각 모음 도구를 별도로 제공하지 않는다. 그 이유는 리눅스의 대표적인 파일 시스템인 Ext의 구조가 조각 모음을 요구하지 않을 정도로 조각이 날 확률이 낮기 때문이다.[15] 결과적으로 대부분의 경우 조각 모음이 필요하지 않다.[16] 그러나 일부 개발자들은 리눅스용 조각 모음 도구를 별도로 개발하기도 한다.

ext2, ext3 및 ext4는 UFS와 마찬가지로 항상 조각화를 제어하도록 설계된 할당 기술을 사용한다. ext2는 `e2defrag`라는 오프라인 조각 모음 도구를 사용하며, 후속 버전인 ext3에서는 작동하지 않는다. 그러나 `defragfs`와 같은 다른 프로그램 또는 파일 시스템 독립적인 프로그램[17]을 사용하여 ext3 파일 시스템을 조각 모음할 수 있다. ext4는 ext3과 다소 하위 호환되므로 조각 모음 프로그램에서 일반적으로 동일한 양의 지원을 받는다. 현재 e4defrag를 사용하여 온라인 조각 모음을 포함하여 ext4 파일 시스템을 조각 모음할 수 있다.

4. 4. 기타 파일 시스템


  • exFAT - 디스크 조각 모음 도구가 없다.
  • ReiserFS - 디스크 조각 모음 도구가 없다.
  • XFS - `xfs_fsr` (마운트 상태에서 사용 가능)
  • HFS+ - 디스크 조각 모음 도구가 없음 (macOS에서는 지연 재배치 및 Hot-File-Adaptive-Clustering이 자동 디스크 조각 모음을 수행)

5. SSD (Solid State Drive)와 조각 모음

솔리드 스테이트 드라이브(SSD)는 움직이는 부품이 없는 플래시 메모리를 기반으로 하여 파일 조각에 대한 임의 접근 속도가 매우 빠르다. 따라서 기존 하드 디스크 드라이브(HDD)에서 필요했던 조각 모음은 SSD에서 불필요하다.[6]

SSD에서 조각 모음을 실행하면 플래시 메모리의 수명을 단축시킬 수 있다.[6] 플래시 메모리는 쓰기 횟수에 제한이 있기 때문이다. SSD는 웨어 레벨링, 가비지 컬렉션 등의 기술로 쓰기 작업을 분산하고 관리하므로, 조각 모음은 이러한 내부 관리를 방해하고 불필요한 쓰기 작업을 발생시킨다.[23]

Windows는 파일 시스템의 최대 조각화 허용 오차에 도달하는 것을 방지하기 위해 SSD에서도 약하게 조각 모음을 자동으로 수행한다. 최대 조각화 제한에 도달하면 디스크 쓰기 시도가 실패하기 때문이다.[6]

Windows 8부터는 SSD에 대해 기존의 조각 모음 대신 TRIM 명령을 주기적으로 발행하는 방식으로 최적화를 수행한다.[24] TRIM 명령은 SSD의 빈 영역을 정리하여 성능을 유지한다. 이를 "SSD에 대한 조각 모음"이라고 칭하기도 하지만, 정확한 표현은 아니다.

6. 가상 환경에서의 조각 모음

솔리드 스테이트 드라이브(SSD)와 비슷한 이유로, 가상 머신에 연결되거나 단독으로 마운트된 가상 하드 디스크에 HDD용으로 설계된 조각 모음 도구를 적용하는 것은 성능 문제를 일으킬 수 있다.

구체적으로, 가변 용량의 가상 하드 디스크에 기존의 조각 모음 도구를 적용하면, 사용하지 않는 영역에 대한 쓰기가 발생하여 가상 하드 디스크의 실제 용량이 증가하는 폐해가 발생한다[25]。가상 머신의 게스트 OS에서 조각 모음 도구를 적용하는 것도 비슷한 문제를 일으킬 수 있다.

윈도우 8에서는 OS 표준 조각 모음 도구 "드라이브 조각 모음 및 최적화"를 사용하여, 가상 하드 디스크(VHD/VHDX)의 마운트 대상 드라이브에 대해 기존의 HDD용 조각 모음이 아닌, 사용 중인 블록 수가 줄어들도록 데이터 이동을 수행한다(조각 모음 (Windows) 참조).

7. 한국에서의 파일 단편화 및 조각 모음

디스크 조각이 많이 발생하면 시스템이 과도한 오버헤드 문제로 성능 저하를 겪을 수 있다. 이 경우 주기적인 단편화 제거를 통해 디스크 성능을 최대한 유지할 수 있다.

참조

[1] 웹사이트 Cwdixon.com http://cwdixon.com/s[...] 2013-07-28
[2] 웹사이트 The Ultimate Defragger - LaRud's Place https://web.archive.[...] 2013-07-28
[3] 웹사이트 MyDefrag v4.2.8 http://www.mydefrag.[...] 2014-08-14
[4] 웹사이트 New hard disk drives reduce need for disk defragmentation http://searchwincomp[...] 2005-09-20
[5] 웹사이트 Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS -- MSDN Magazine, December 2001 http://msdn.microsof[...] 2006-12-19
[6] 웹사이트 The real and complete story - Does Windows defragment your SSD? http://www.hanselman[...] Microsoft 2014-12-03
[7] 서적 Peter Norton's Complete Guide to DOS 6.22 https://archive.org/[...] Sams 1994-10
[8] 웹사이트 NTFS Versions http://www.pcguide.c[...] PC Guide 2001-04-17
[9] 웹사이트 Third-party disk defragmenter tools for Windows http://support.micro[...] 2013-07-28
[10] 웹사이트 Disk Defragmentation – Background and Engineering the Windows 7 Improvements http://blogs.msdn.co[...] 2014-06-15
[11] 웹사이트 New Defrag options in Windows 8 http://www.verboon.i[...] 2011-11-13
[12] 웹사이트 FreeBSD Man Pages https://www.freebsd.[...] The FreeBSD Project 2015-02-21
[13] 웹사이트 Defragmentation https://btrfs.readth[...] 2024-07-26
[14] 웹사이트 Administration https://btrfs.readth[...] 2024-07-26
[15] 웹사이트 HTG Explains: Why Linux Doesn't Need Defragmenting http://www.howtogeek[...] 2013-08-01
[16] 웹사이트 5.10. Filesystems http://www.tldp.org/[...] 2013-06-22
[17] 웹사이트 Optimizing data organization on disk http://www.linux-mag[...]
[18] 웹사이트 Journaling File System Support http://www.ecomstati[...] 2008-12-27
[19] 웹사이트 Fragmentation in HFS Plus Volumes http://osxbook.com/s[...] 2020-09-02
[20] 웹사이트 Detecting a file fragmentation point for reconstructing fragmented files using sequential hypothesis testing https://patents.goog[...] US8407192 B2 2015-02-21
[21] 웹사이트 E format design document http://www.chiark.gr[...] 2013-05-24
[22] 웹사이트 フラグメンテーションとは - IT用語辞典 https://e-words.jp/w[...] 2024-01-20
[23] 뉴스 「Windows VistaはSSDに最適化されていない」--米SanDisk CEOがコメント https://news.mynavi.[...]
[24] 웹사이트 http://news.mynavi.j[...]
[25] 웹사이트 https://atmarkit.itm[...]
[26] 웹사이트 Windows Vistaチューニング デフラグは効率良く効果的に行いたい http://www.microsoft[...]
[27] 웹사이트 About disk optimization with Mac OS X http://support.apple[...]
[28] 서적 Mac OS X Internals: A Systems Approach Addison Wesley 2006
[29] 웹사이트 About disk optimization with Mac OS X http://support.apple[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com