Linux 시스템을 사용하는 데 있어 디스크 공간 관리는 굉장히 중요하다. 서버가 멈추거나 느려지는 경우, 간혹 디스크 용량이 가득 차서 발생하는 경우가 있다. 이러한 상황은 로그 파일이 과도하게 쌓이는 등 여러 원인으로 인해 발생할 수 있다.
예를 들어 새로운 프로젝트를 진행하는 과정에서 모니터링 시스템이 아직 구축되지 않았을 때, 미처 확인하지 못한 디스크 용량이 가득 차서 문제가 발생할 수 있다. 또한, 폐쇄망 금융 IT 환경에서는 모니터링 시스템을 구축하는 것조차 불가능한 경우도 있다. 그러나 이러한 문제를 방치하면 심각한 장애로 이어질 수 있으므로, 디스크 사용량을 지속적으로 모니터링하는 것이 중요하다. 오늘은 여러 디스크 모니터링 명령어 중 하나인 df
에 대해 알아보자.
df
df
는 disk free의 약자로, 파일 시스템의 디스크 공간 사용 정보를 표시하는 명령어이다.
df
를 통해 시스템 디스크의 용량을 쉽게 파악할 수 있다.
$ df
Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
/dev/disk3s1s1 478724992 19335488 65105896 23% 390143 325529480 0% /
devfs 403 403 0 100% 698 0 100% /dev
/dev/disk3s6 478724992 14680704 65105896 19% 7 325529480 0% /System/Volumes/VM
/dev/disk3s2 478724992 12526640 65105896 17% 1307 325529480 0% /System/Volumes/Preboot
/dev/disk3s4 478724992 22928 65105896 1% 118 325529480 0% /System/Volumes/Update
/dev/disk2s2 1024000 12328 986248 2% 1 4931240 0% /System/Volumes/xarts
/dev/disk2s1 1024000 12512 986248 2% 32 4931240 0% /System/Volumes/iSCPreboot
/dev/disk2s3 1024000 3192 986248 1% 55 4931240 0% /System/Volumes/Hardware
/dev/disk3s5 478724992 363353320 65105896 85% 1384826 325529480 0% /System/Volumes/Data 0 - /System/Volumes/Data/home
기본적인 디스크 사용량 정보가 표시된다. 보통 -h
옵션과 함께 많이 사용하는데, human-readable의 약자로, 디스크 용량을 사람이 쉽게 읽을 수 있는 형식으로 표시한다. 기본적으로 df
는 바이트 단위로 표시되지만, -h
옵션을 사용하면 킬로바이트(KB), 메가바이트(MB), 기가바이트(GB) 등의 단위로 변환하여 보여준다.
$ df -h
다음과 같은 형태로 출력된다.
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk3s1s1 228Gi 9.2Gi 31Gi 23% 390k 325M 0% /
devfs 202Ki 202Ki 0Bi 100% 698 0 100% /dev
/dev/disk3s6 228Gi 7.0Gi 31Gi 19% 7 325M 0% /System/Volumes/VM
/dev/disk3s2 228Gi 6.0Gi 31Gi 17% 1.3k 325M 0% /System/Volumes/Preboot
/dev/disk3s4 228Gi 11Mi 31Gi 1% 118 325M 0% /System/Volumes/Update
/dev/disk2s2 500Mi 6.0Mi 482Mi 2% 1 4.9M 0% /System/Volumes/xarts
/dev/disk2s1 500Mi 6.1Mi 482Mi 2% 32 4.9M 0% /System/Volumes/iSCPreboot
/dev/disk2s3 500Mi 1.6Mi 482Mi 1% 55 4.9M 0% /System/Volumes/Hardware
/dev/disk3s5 228Gi 173Gi 31Gi 85% 1.4M 325M 0% /System/Volumes/Data
- Filesystem : 각 파일 시스템의 이름이나 경로를 나타낸다.
- Size : 전체 디스크 용량을 표시한다.
- Used : 현재 사용 중인 공간을 나타낸다.
- Avail(Available) : 남아있는 여유 공간을 나타낸다.
- Capacity : 사용 중인 공간의 비율을 퍼센트로 표시한다.
- iused : 현재 사용 중인 아이노드(inode)의 상태를 나타낸다.
- ifree : 현재 사용 가능한 아이노드의 수를 나타낸다. 즉, 파일 시스템에서 새로운 파일이나 디렉터리를 생성할 수 있는 여유 아이노드의 개수이다.
- %isued : 사용 중인 아이노드의 비율을 퍼센트로 표시한다.
- Mounted on : 해당 파일 시스템이 마운트된 위치를 보여준다.
아이노드(inode)란, 파일 시스템에서 파일이나 디렉터리에 대한 metadata를 저장하는 구조체로, 각 파일이나 디렉터리는 고유한 아이노드를 가진다.
그 외의 다양한 옵션들
$ df # : 디스크 남은 용량 확인 (기본 명령어)
$ df -k # : 킬로바이트 단위로 남은 용량 확인
$ df -m # : 메가 바이트 단위로 남은 용량 확인
$ df -h # : 깔끔하게 보여줌
$ df . # : 현재 디렉토리가 포함된 파티션의 남은 용량 확인