핵심 요약
- 노트북 용량이 부족한 원인을 찾기 위해 호출 스택 분석 도구인 플레임 그래프를 파일 시스템 용량 시각화에 적용했습니다.
- 폴더 계층 구조와 용량을 가로 너비로 직관적으로 보여주어 숨겨진 대용량 파일과 백업 찌꺼기를 손쉽게 찾아낼 수 있습니다.
- 오픈소스 Perl 스크립트 두 개만으로 터미널에서 손쉽게 SVG 결과물을 만들어 브라우저로 확인할 수 있습니다.
요약 리눅스 성능 분석 및 eBPF 분야의 권위자인 브렌던 그레그(Brendan Gregg)가 노트북 용량이 부족해지는 원인을 파악하기 위해 자신이 고안했던 '플레임 그래프(Flame Graph)'를 파일 시스템 용량 분석에 적용한 방법을 소개했습니다.
평소 터미널에서 'find / -ls' 같은 명령어를 실행해 디스크 상태를 파악할 수 있지만, 디렉터리와 하위 디렉터리 전체의 구조와 차지 비중을 한눈에 파악하기에는 시간이 오래 걸리고 번거롭다는 단점이 있었습니다. 원래 플레임 그래프는 호출 스택(Stack Trace)을 시각화하기 위해 만들어진 계층 구조 다이어그램(역고드름 배치 형태)이지만, 디렉터리와 하위 폴더의 계층적 구조 역시 동일한 방식으로 시각화할 수 있다는 점에 착안했습니다. 이 방식을 사용하면 박스의 너비가 파일 및 폴더가 차지하는 총 바이트 용량을 나타내므로, 어떤 경로가 용량을 가장 많이 잡아먹고 있는지 직관적으로 파악할 수 있습니다.
실제로 그는 친구의 노트북에서 정체불명의 용량 부족 문제가 발생했을 때도 이 기법을 사용해 문제를 해결했다고 밝혔습니다. 분석 결과, 친구 본인도 전혀 모르고 있던 특정 경로에 백업 애플리케이션이 막대한 용량을 쌓아두고 있던 것이 원인으로 드러났습니다.
사용 방법은 매우 간단합니다. 터미널에서 그의 깃허브 저장소를 복제하거나, 펄(Perl) 스크립트 파일 두 개(files.pl, flamegraph.pl)만 내려받아 파이프라인으로 연결해 실행하면 웹 브라우저에서 바로 확인할 수 있는 SVG 파일로 변환됩니다. 사용자는 분석할 경로(예: /Users 또는 전체 루트 디스크)를 지정하기만 하면 되며, 생성된 SVG 파일에서는 클릭을 통한 확대/축소와 Ctrl+F 검색까지 지원되어 대용량 폴더를 쉽게 추적할 수 있습니다.
Sponsored · 광고