디스크 조각 모음, 한눈에 정리.
파일은 왜 조각조각 흩어질까요? 그게 왜 하드 디스크를 느리게 만들었고, 조각 모음 프로그램은 그 긴 시간 동안 무엇을 하고 있었을까요? 그리고 내 컴퓨터에도 아직 조각 모음이 필요할까요?
최종 확인
디스크 조각화란 무엇인가요?
파일 시스템은 파일을 한 바이트씩 저장하지 않아요. 클러스터(할당 단위 또는 블록이라고도 해요)라는 일정한 크기의 덩어리로 공간을 나눠 주는데, 이게 파일 하나가 차지할 수 있는 가장 작은 디스크 공간이에요. 클러스터가 4KB인 디스크라면 10KB짜리 파일은 클러스터 세 개를 차지해요.
이상적으로는 한 파일의 클러스터들이 나란히 붙어 있어야 해요. 그렇지 않고 파일이 디스크 여기저기에 흩어진 여러 구간으로 나뉘어 저장되면, 그 파일은 조각화됐다고 해요. 단편화라고도 부르죠.
- 네 조각으로 나뉜 파일 하나
- 다른 파일
- 빈 공간
조각화는 디스크를 쓰다 보면 저절로 생겨요.
- 지우면 구멍이 남아요. 파일을 삭제하면 그 클러스터들은 빈틈이 돼요. 다음에 들어오는 파일이 그 빈틈보다 크면 파일은 쪼개져서, 일부는 빈틈에, 나머지는 자리가 나는 곳 어디든 들어가요.
- 파일은 자라요. 문서에 한 쪽을 더 쓰거나 로그 파일에 하루치 기록이 쌓이면, 새 클러스터는 기존 클러스터 바로 뒤에 들어가지 못할 때가 많아요. 그 자리에 이미 다른 파일이 있으니까요.
- 파일 시스템은 깔끔함보다 속도를 챙겨요. MS-DOS와 Windows 95·98의 파일 시스템인 FAT은 보통 마지막으로 내준 클러스터에서 이어서 다음 빈 클러스터를 가져가요. 빠르긴 하지만, 시간이 지날수록 파일이 흩어지죠.
사실 조각화에는 두 종류가 있어요. 파일 조각화는 파일 하나가 여러 조각으로 나뉜 상태예요. 빈 공간 조각화는 빈 공간이 작은 틈으로 잘게 나뉜 상태인데, 바로 이게 파일 조각화의 원인이에요. 충분히 큰 빈틈이 없으면 새 파일은 하나같이 조각난 채로 들어오니까요.
조각화되면 하드 디스크가 느려지는 이유
하드 디스크는 빙글빙글 도는 원판(플래터) 여러 장과, 움직이는 암 끝에 달린 읽기/쓰기 헤드로 이루어져 있어요. 무언가를 읽으려면 먼저 암이 헤드를 알맞은 트랙으로 옮겨야 하고(탐색, seek), 그다음 원판의 원하는 지점이 헤드 아래로 돌아올 때까지 기다려야 해요(회전 지연). 그제야 데이터가 흘러나오는데, 한 구간으로 쭉 이어져 있는 동안은 아주 빠르게 흘러요.
조각이 하나 늘 때마다 탐색과 기다림도 한 번씩 더 늘어나요. Microsoft 엔지니어들은 이 두 지연을 “두 가지 주범”이라고 불렀어요. 50조각으로 나뉜 파일은 이 대가를 한 번이 아니라 50번 치러야 해요.
| 회전 속도 | 원판을 기다리는 평균 시간 | 대표적인 드라이브 |
|---|---|---|
| 3,600rpm | 8.3ms | 1990년대 후반 보급형 드라이브(예: Quantum Bigfoot CY) |
| 5,400rpm | 5.6ms | 노트북용 드라이브(예: Seagate Momentus 5400) |
| 7,200rpm | 4.2ms | 데스크톱용 드라이브(예: Seagate Barracuda 7200.14) |
| SSD | 없음 | 도는 부품이 없어서 데이터가 어디에 있든 차이가 없어요 |
몇 밀리초라니 별것 아닌 것 같지만, 그 시간이면 같은 디스크가 한 줄로 이어진 데이터를 수십, 많게는 수백 킬로바이트까지 읽을 수 있었어요. 그래서 조각난 디스크는 굼떠 보였어요. 프로그램이 늦게 뜨고, 헤드가 이리저리 오가는 동안 디스크에서 드르륵거리는 소리가 또렷이 들렸죠.
데이터가 놓인 위치도 중요해요. 존 비트 레코딩(zoned bit recording) 방식에서는 바깥쪽 트랙에 안쪽 트랙보다 섹터가 더 많아서, 디스크의 시작 부분(바깥쪽 가장자리)이 가장 빨라요. 좋은 조각 모음 프로그램은 이 점을 활용했어요.
조각 모음 프로그램이 실제로 하는 일
조각 모음 프로그램은 꼼꼼한 이삿짐센터 같아요. 조각난 파일마다 충분히 큰 빈 구간을 찾아 조각들을 순서대로 복사하고, 복사본을 확인하고, 파일 시스템이 새 위치를 가리키게 한 다음에야 예전 클러스터를 비워요. 도중에 무슨 일이 생겨도 원본은 원래 자리에 그대로 있어요.
그 과정에서 좋은 조각 모음 프로그램은 이런 일도 해요.
- 빈 공간을 한데 모아 하나의 큰 영역으로 만들어요. 그래야 새 파일이 한 덩어리로 들어올 자리가 생기니까요.
- 파일을 계획적으로 배치해요. 시스템 파일과 자주 쓰는 파일은 빠른 디스크 앞부분에, 잘 쓰지 않는 파일은 더 뒤쪽에 둬요. Windows 98은 한발 더 나아가, 프로그램 파일을 프로그램이 실제로 불러오는 순서대로 배열하기까지 했어요.
- 건드리지 않는 것도 있어요. Windows 2000에서는 페이징 파일이나 NTFS 마스터 파일 테이블처럼 시스템이 계속 열어 두는 파일은 Windows가 실행 중일 때 옮길 수 없었어요. 어떤 도구는 이런 파일을 부팅할 때 따로 한 번 더 작업해서 처리했어요.
조각 모음은 아무것도 지우지 않고, 디스크 용량을 늘려 주지도 않아요. 헤드가 덜 오가도 읽을 수 있도록 데이터를 옮길 뿐이에요.
Windows 95·98의 디스크 조각 모음
많은 사람에게 조각 모음 프로그램이라면 바로 이것이에요. 작은 네모가 가득한 창에서, 프로그램이 드라이브 C를 훑어 나가는 동안 네모들이 천천히 색을 바꾸던 그 화면이요. Windows 95에 기본으로 들어 있었고, MS-DOS 6의 DEFRAG 명령처럼 Norton Utilities와 그 안의 Speed Disk를 만든 회사, Symantec이 만들었어요.
세부 정보 표시를 누르면 그 유명한 맵이 열렸어요. 범례가 네모 하나하나의 뜻을 알려 줬죠.
- 최적화된(조각 모음된) 데이터작업이 끝난 파일이에요. 한 덩어리로 제자리에 있어요.
- 최적화되지 않은 데이터아직 옮겨야 할 데이터예요. 드라이브의 앞, 가운데, 끝 중 어디에 있어야 하는지에 따라 구분해서 표시했어요.
- 빈 공간채워지기를 기다리는 빈 클러스터예요.
- 이동하지 않을 데이터조각 모음 프로그램이 지금 자리에 그대로 둬야 하는 파일이에요.
- 디스크의 불량(손상) 영역쓸 수 없다고 표시된 클러스터예요. Windows는 이걸 빨간 줄이 그어진 흰 네모로 그렸어요.
- 현재 읽고 있는 데이터헤드가 지금 막 집어 가는 블록이에요.
- 현재 쓰고 있는 데이터그 블록들이 내려앉는 자리예요.
맨 아래에는 그림 전체를 설명하는 한 줄이 있었어요. “각 상자는 디스크 클러스터 하나를 나타냅니다.”(Each box represents one disk cluster.) 여기 나온 색은 Defragment의 Classic 98 테마 색 그대로예요.
Windows 98에는 “프로그램이 더 빨리 시작되도록 프로그램 파일 재배열”(Rearrange program files so my programs start faster)이라는 확인란이 생겼어요. 그 뒤에는 Intel Application Launch Accelerator가 있었어요. Task Monitor라는 작은 프로그램이 각 프로그램이 시작할 때 어떤 파일의 어느 부분을 읽는지 기록해 두면, 조각 모음 프로그램이 그 부분들을 정확히 그 순서대로 배치했죠. 1997년 Intel이 직접 한 테스트에서는 Office 프로그램이 11.3초가 아니라 약 3.7초 만에 시작됐어요.
악명 높은 골칫거리도 여기서 비롯됐어요. 조각 모음이 진행되는 동안 다른 프로그램이 디스크에 뭔가를 쓰면(화면 보호기가 단골 범인이었어요), 조각 모음 프로그램이 만들어 둔 맵이 더는 맞지 않게 돼서 처음부터 다시 시작했어요. 10%를 도무지 넘기지 못하던 조각 모음을 기억하는 사람이 많아요.
조각 모음의 짧은 역사
- 1986
Diskeeper와 DiskExpress
Executive Software가 VAX/VMS 미니컴퓨터용 Diskeeper를 내놓았고, Alsoft는 Mac용 DiskExpress를 출시했어요.
- 1987
Norton Speed Disk
Norton Utilities 4.0 Advanced Edition에 Speed Disk가 들어갔고, DOS 시대에 가장 널리 알려진 조각 모음 프로그램 중 하나가 됐어요.
- 1993
MS-DOS 6.0: DEFRAG
DOS에 자체
DEFRAG명령이 생겼어요. Symantec에서 라이선스를 받은 Speed Disk의 축소판이었죠. - 1995
Windows 95
이번에도 Symantec 코드로 만든 디스크 조각 모음이 수백만 대의 화면에 클러스터 맵을 띄웠어요.
- 1996
Windows NT 4.0
조각 모음 프로그램은 들어 있지 않았지만, 새로 생긴 시스템 기능 덕분에 Diskeeper 같은 도구가 Windows 실행 중에도 클러스터를 안전하게 옮길 수 있게 됐어요.
- 1998
Windows 98
Intel Application Launch Accelerator와 함께, 조각 모음이 프로그램 파일을 불러오는 순서대로 배열할 수 있게 됐어요.
- 2000
Windows 2000과 XP
Diskeeper를 만든 Executive Software와 함께 만든 조각 모음 프로그램이 들어갔어요. 막대에는 조각난 파일이 빨간색, 연속된 파일이 파란색, 이동할 수 없는 파일이 초록색, 빈 공간이 흰색으로 표시됐어요.
- 2003
Mac OS X 10.3 Panther
Mac 파일 시스템이 심하게 조각난 작은 파일을 열 때 스스로 조각 모음하기 시작했어요.
- 2007
Windows Vista
조각 모음이 백그라운드에서 예약 작업으로 돌아가게 되면서 맵이 사라졌어요.
- 2009
Windows 7
진행 상황이 다시 보이고, 여러 드라이브를 한꺼번에 처리할 수 있게 됐으며, SSD는 조각 모음 대상에서 빠졌어요.
- 2012
Windows 8: 드라이브 최적화
도구 이름이 바뀌고 SSD를 다르게 다루게 됐어요. 데이터를 옮기는 대신 TRIM을 보내요.
- 2017
APFS
Apple의 새 파일 시스템은 플래시 저장 장치에 맞춰 설계됐어요. SSD에서는 조각 모음이 더는 고민거리조차 아니게 됐죠.
Windows 10·11에서 조각 모음하기
Windows는 지금도 조각 모음을 해요. 눈에 띄지 않을 뿐이죠. 도구 이름은 이제 드라이브 최적화이고(시작 메뉴에서 “드라이브 조각 모음 및 최적화”를 검색하세요), 기본적으로 일주일에 한 번 알아서 실행돼요.
- 하드 디스크에서는 드라이브를 분석하고 조각 모음을 해요.
- SSD에서는 대신 리트림(retrim)을 보내요. 더 이상 쓰지 않는 블록이 어느 것인지 드라이브에 알려 주는 거예요.
- FAT으로 포맷된 이동식 USB 메모리나 SD 카드에서는 아무것도 하지 않아요.
많은 사람이 놀라는 예외가 하나 있어요. 시스템 복원이나 다른 볼륨 스냅숏이 켜져 있으면, Windows는 SSD도 한 달에 한 번쯤 조각 모음을 해요. Microsoft 스토리지 팀의 설명에 따르면, 심하게 조각난 볼륨은 스냅숏을 느리게 만들고, 파일 하나가 가질 수 있는 조각 수에 대한 파일 시스템 한도에 걸릴 수도 있기 때문이에요.
명령줄이 편한 분이라면 defrag C: /A로 드라이브를 분석하고, defrag C: /O로 드라이브 종류에 맞는 최적화를 실행하고, defrag C: /L로 SSD에 리트림을 보낼 수 있어요. 전체 조각 모음을 하려면 드라이브에 빈 공간이 15% 이상 있어야 해요.
SSD도 조각 모음을 해야 하나요?
아니요. SSD에는 헤드도, 도는 원판도 없어서 탐색도 기다림도 없어요. SSD의 컨트롤러는 컴퓨터가 쓰는 주소를 데이터가 실제로 있는 플래시 셀에 연결하는 자체 지도를 관리하고, 쓰기를 일부러 칩 전체에 골고루 퍼뜨려요. Windows에서는 조각나 보이는 파일도 SSD 안에서는 실제로 어디에 있을지 모르고, 어느 쪽이든 똑같이 빠르게 읽혀요.
조각 모음을 해 봐야 이미 멀쩡한 자리에 있는 데이터를 다시 쓸 뿐인데, 플래시 메모리는 쓸 수 있는 횟수가 정해져 있어요. 세계 최대 SSD 제조사 중 하나인 삼성은 조각 모음이 필요 없다고 분명히 밝히고, 자사 드라이브에서는 자동 조각 모음을 끄라고 권장해요.
SSD에 정말 필요한 건 TRIM이에요. 운영 체제가 어느 블록이 비었는지 알려 주면, 드라이브가 그 블록을 미리 정리해 두고 계속 빠르게 쓸 수 있어요. Windows와 macOS는 자동으로 해 주고, 대부분의 리눅스 배포판은 타이머로 정기적으로 실행해요.
Mac도 조각 모음이 필요한가요?
거의 필요 없어요. 클래식 Mac OS 시절에는 Alsoft의 DiskExpress와 PlusOptimizer, Norton Utilities의 Speed Disk, TechTool Pro 같은 도구를 썼어요. Mac OS X부터는 시스템이 대부분을 알아서 처리해요.
- Mac OS X 10.2에는 지연 할당이 추가됐어요. 파일 시스템이 새 데이터를 어디에 둘지 바로 정하지 않고 잠시 기다렸다가, 연속된 자리 하나를 찾아내는 방식이에요.
- Mac OS X 10.3 Panther에는 자동 조각 모음이 추가됐어요. 20MB보다 작은 파일이 여덟 조각 넘게 나뉜 채로 열리면, 조용히 한 덩어리로 옮겨져요.
- 핫 파일 클러스터링(Hot File Clustering)은 시동 디스크에서 가장 자주 읽히는 작은 파일들을 디스크의 예약된 “핫” 영역에 모아 둬요.
당시 Apple의 공식 안내는 Mac OS X에서는 아마 최적화가 전혀 필요 없을 거라는 거였어요. 요즘 Mac은 SSD에 APFS를 쓰는데, 여기서는 조각화가 문제가 되지 않아요. 회전식 하드 디스크의 APFS를 위해서는 macOS에 스위치가 있어요. diskutil apfs defragment 뒤에 볼륨과 status, enable 또는 disable을 붙이면 돼요.
리눅스에서 조각 모음
리눅스 파일 시스템은 조각화를 고치기보다 애초에 피하도록 설계되어서, 조각 모음이 필요한 경우는 드물어요.
- ext4는 익스텐트(길게 이어진 블록 구간을 기록 하나로 나타내는 방식), 지연 할당, 그리고 파일 데이터를 메타데이터 가까이에 두는 방법으로 파일을 한데 모아 둬요. 드물게 필요할 때를 위해
e4defrag도 있어요. - XFS에는
xfs_fsr이 딸려 있어요. 가장 심하게 조각난 파일들을 재구성하는데, 기본적으로 한 번에 최대 2시간 동안 실행돼요. - Btrfs에는
btrfs filesystem defragment명령과autodefrag마운트 옵션이 있는데, 이 옵션은 기본으로 꺼져 있어요. 스냅숏이 있다면 조심하세요. 조각 모음을 하면 파일과 스냅숏 사본 사이의 공유가 깨져서 사용 공간이 늘어날 수 있어요.
사람들이 조각 모음을 넋 놓고 보던 이유
드르륵거리는 디스크 소리와 밝은색에서 어두운색으로 바뀌어 가는 네모들 사이 어딘가에서, 조각 모음은 구경거리가 됐어요. 끝이 눈에 보이고, 한 걸음 나아갈 때마다 조금씩 더 가지런해지는 느리고 질서 정연한 과정은 묘하게 마음을 차분하게 해 줘요.
지금도 일부러 찾아보는 사람들이 있어요. 2018년 TechCrunch는 DOS 디스크 조각 모음만 24시간 내내 보여 주는 Twitch 채널을 소개했고, 하드 디스크 소리까지 고스란히 담긴 몇 시간짜리 Windows 98 조각 모음 영상은 지금도 YouTube에서 꾸준히 재생되고 있어요.
Defragment는 바로 이 아이디어에서 출발했어요. 정리가 필요한 진짜 디스크 없이도, 디스크가 정리되는 모습을 바라보는 차분함을 느낄 수 있게요. iPhone이나 iPad에서 가상의 디스크가 끝없이 조각 모음돼요. Classic 98을 포함한 테마 6가지가 있고, 원하면 옆에 시간도 띄울 수 있어요.
자주 묻는 질문
SSD 조각 모음, 해야 하나요?
아니요. SSD에는 움직이는 부품이 없어서 조각화 때문에 느려지지 않고, 조각 모음은 마모만 늘릴 뿐이에요. Windows는 대신 SSD에 TRIM을 자동으로 보내니, 그 설정은 켜 두세요.
Windows 10이나 11도 아직 자동으로 조각 모음을 하나요?
네. 드라이브 최적화가 기본적으로 매주 실행돼요. 하드 디스크는 조각 모음하고, SSD에는 리트림을 보내요. 시스템 복원이 켜져 있으면 SSD도 한 달에 한 번쯤 조각 모음을 해요.
Mac도 조각 모음을 해야 하나요?
사실상 필요 없어요. Mac OS X는 10.3 버전부터 작은 파일을 자동으로 조각 모음해 왔고, 요즘 Mac은 SSD에 APFS를 쓰기 때문에 조각화가 상관없어요.
조각 모음은 얼마나 걸리나요?
디스크 크기, 파일 수, 조각난 정도, 얼마나 차 있는지에 따라 달라요. 1990년대 PC에서는 전체 조각 모음에 몇 시간씩 걸리기도 했고, Windows 98 안내서들도 바로 그 점을 경고했어요. 요즘 Windows는 예약해서 정기적으로 실행하기 때문에, 보통은 매번 할 일이 별로 남아 있지 않아요.
조각 모음을 중간에 멈춰도 괜찮나요?
네. 일시 중지와 중지 버튼이 괜히 있는 게 아니에요. 조각 모음 프로그램은 조각마다 복사하고 확인한 뒤에야 예전 자리를 비워요. 갑작스러운 정전은 얘기가 다르죠. 그래서 배터리가 거의 바닥난 노트북으로 조각 모음을 하는 건 한 번도 좋은 생각이었던 적이 없어요.
조각 모음을 하면 파일이 지워지나요?
아니요, 옮기기만 해요. 다만 빈 공간을 덮어쓰기 때문에, 전에 삭제한 파일은 그 뒤로 복구하기가 더 어려워져요.
조각 모음에는 빈 공간이 얼마나 필요한가요?
파일을 이리저리 옮길 여유가 있어야 해요. Microsoft는 완전한 조각 모음을 위해 드라이브의 15% 이상을 비워 두라고 해요. 그보다 적으면 일부 파일은 조각난 채로 남아요.
Windows 98 조각 모음은 왜 자꾸 처음부터 다시 시작했나요?
작업하는 동안 다른 무언가가 디스크에 썼기 때문이에요. 보통은 화면 보호기나 백그라운드 프로그램이었죠. 그러면 디스크 맵이 더는 맞지 않게 돼서 처음부터 다시 시작했어요. 다른 프로그램을 닫고 화면 보호기를 끄면 도움이 됐어요.
“각 상자는 디스크 클러스터 하나를 나타냅니다”는 무슨 뜻인가요?
Windows 95·98 맵의 네모 하나하나가 클러스터 하나, 즉 파일이 쓸 수 있는 가장 작은 디스크 공간을 나타냈어요. 색은 그 안에 무엇이 있는지 보여 줬어요. 작업이 끝난 데이터, 아직 옮겨야 할 데이터, 빈 공간 같은 것들이요.
조각 모음 화면을 다시 볼 수 있나요?
네. iPhone과 iPad용 Defragment가 바로 그런 앱이에요. 끝없이 조각 모음되는 디스크를 Classic 98 테마로도 볼 수 있어요. 실제 데이터는 전혀 건드리지 않아요.
다시 한번 정리되는 모습을 지켜보세요.
Defragment는 iPhone과 iPad에서 끝없이 이어지는 차분한 조각 모음이에요. 무료이고, 테마 6가지와 시계가 있고, 실제로 조각 모음할 건 하나도 없어요.
곧 출시 App StoreDefragment 둘러보기출처
매뉴얼, Microsoft와 Apple 문서, 그리고 당시 자료와 대조해 확인했어요.
- Microsoft: Disk defragmentation background and engineering the Windows 7 improvements (2009)
- Microsoft: Disk defragmentation in Windows 2000
- Microsoft Learn: defrag command
- Microsoft Learn: Optimize-Volume
- Microsoft Support: Defragment or optimise your drives in Windows
- Microsoft KB Q120962: DEFRAG in MS-DOS 6 is developed by Symantec
- Microsoft KB Q160043: bad clusters in the Disk Defragmenter map
- Microsoft KB Q155679: Windows NT 4.0 has no disk defragmenter
- Microsoft KB 186978: Disk Defragmenter restarts repeatedly
- Intel: Application Launch Accelerator announcement (1997)
- Scott Hanselman: Does Windows defragment your SSD? (2014)
- Apple: About disk optimization with Mac OS X (HT1375)
- Amit Singh: Fragmentation in HFS Plus volumes
- Linux kernel documentation: ext4 block and inode allocators
- xfs_fsr manual page
- Btrfs documentation: Defragmentation
- Samsung Semiconductor: SSD FAQ
- Wikipedia: Hard disk drive performance characteristics
- Wikipedia: Quantum Bigfoot
- Seagate Barracuda 7200.14 data sheet
- Seagate Momentus 5400 product manual
- Alsoft: company history
- Wikipedia: Norton Utilities
- Wikipedia: Diskeeper
- TechCrunch: Watch a hard drive defrag forever on Twitch (2018)