본문 바로가기

OS/Unix, Linux

[OS/Unix, Linux] 디스크 용량 확인하기(df)

Linux OS에서 디스크 쓰기 작업을 수행하다보면 다음과 같이 오류가 발생하여 요청 또는 명령이 중단되는 경우가 있습니다. Linux를 VM과 같은 환경에서 실행하고 있다면 아래 오류("no space left on device")처럼 디스크 용량이 부족한 경우가 종종 발생합니다.

Jenkins를 통한 CI/CD 구축 중 Linux 호스트에서 디스크 용량이 부족하여 빌드가 중단되었다!

이런 오류를 마주친다면 모든 개발자는 가장 먼저 "디스크 용량을 얼만큼 할당했더라?"와 "그래서 얼마나 사용했길래?"에 대한 궁금증이 생길 것입니다.

df [플래그]

Linux에서 디스크 용량을 확인하려면 df를 사용합니다. 출력되는 내용은 다음과 같습니다.

  • Filesystem
    : 마운트된 파일 시스템 목록
  • 1K-blocks
    : 전체 용량(단위:KB)
  • Used
    : 사용 용량(단위:KB)
  • Available
    : 남은 용량(단위:Kb)
  • Use%
    : 전체 용량 중 사용 용량 비율
  • Mounted on
    : 마운트 지점 경로
$ df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                  1928544       0   1928544   0% /dev
tmpfs                     1940368       0   1940368   0% /dev/shm
tmpfs                     1940368   25872   1914496   2% /run
tmpfs                     1940368       0   1940368   0% /sys/fs/cgroup
/dev/mapper/centos-root  29624184 4888908  24735276  17% /
/dev/sda1                  505580  166912    338668  34% /boot
tmpfs                      388076       0    388076   0% /run/user/0

디스크 용량 단위를 변경하여 출력

df의 기본 출력 단위는 KB입니다. -m 플래그는 출력 단위를 MB로 변경합니다.

$ df -m
Filesystem              1M-blocks  Used Available Use% Mounted on
devtmpfs                     1884     0      1884   0% /dev
tmpfs                        1895     0      1895   0% /dev/shm
tmpfs                        1895    26      1870   2% /run
tmpfs                        1895     0      1895   0% /sys/fs/cgroup
/dev/mapper/centos-root     28930  4775     24156  17% /
/dev/sda1                     494   163       331  34% /boot
tmpfs                         379     0       379   0% /run/user/0

-h 플래그는 출력 단위를 사람이 읽기 편한 형태(KB, MB, GB 등의 단위로 자동 환산)로 변경합니다. 가독성이 월등히 좋아지므로 거의 필수적으로 추가하는 플래그입니다.

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   26M  1.9G   2% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   29G  4.7G   24G  17% /
/dev/sda1                494M  163M  331M  34% /boot
tmpfs                    379M     0  379M   0% /run/user/0

-i 플래그는 출력 단위를 block 대신 inode로 변경합니다.

$ df -i
Filesystem                Inodes IUsed    IFree IUse% Mounted on
devtmpfs                  482136   367   481769    1% /dev
tmpfs                     485092     1   485091    1% /dev/shm
tmpfs                     485092   717   484375    1% /run
tmpfs                     485092    16   485076    1% /sys/fs/cgroup
/dev/mapper/centos-root 29638656 48270 29590386    1% /
/dev/sda1                 512000   339   511661    1% /boot
tmpfs                     485092     1   485091    1% /run/user/0

파일 시스템 유형을 함께 출력

-T 플래그는 각 디스크 별 파일 시스템 유형을 함께 출력합니다.

  • tmpfs
    : Temp File System의 약자입니다. 임시 파일 시스템으로써 메모리를 파일 시스템처럼 사용합니다. 리부트 시 휘발되나 I/O 속도가 빠르다는 특징을 갖고 있습니다. 
  • devtmpfs
    : tmpfs의 일종으로 부팅 시간 개선을 위한 용도로 사용됩니다.
  • xfs
    : CentOS 7버전부터 지원하는 기본 파일 시스템입니다(이전 버전 EXT).
  • 그 외
    : 파일 시스템의 유형은 OS 및 OS 버전에 따라서 상이합니다.
$ df -T
Filesystem              Type     1K-blocks    Used Available Use% Mounted on
devtmpfs                devtmpfs   1928544       0   1928544   0% /dev
tmpfs                   tmpfs      1940368       0   1940368   0% /dev/shm
tmpfs                   tmpfs      1940368   25872   1914496   2% /run
tmpfs                   tmpfs      1940368       0   1940368   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs       29624184 4888908  24735276  17% /
/dev/sda1               xfs         505580  166912    338668  34% /boot
tmpfs                   tmpfs       388076       0    388076   0% /run/user/0

만약 특정 파일 시스템 유형으로 필터하려면 -t [파일 시스템 유형] 플래그를 사용합니다.

$ df -t xfs
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  29624184 4888908  24735276  17% /
/dev/sda1                  505580  166912    338668  34% /boot

현재 디렉토리가 포함된 파티션을 출력

명령어에 도트(.)를 붙이면 현재 디렉토리가 포함된 파티션의 용량을 확인 할 수 있습니다.

$ df .
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  29624184 4888908  24735276  17% /