본문 바로가기

서버 관리/리눅스

df 와 du 와 디스크 용량 차이 발생 및 해결 방법

[1. 개요]

서버 디스크 확보 중, 분명 불필요한 파일을 삭제하였는데, 

df 로 확인 시 디스크가 충분히 확보되지 않는 문제가 있었다.

 

그러나, du 로 mount 된 디렉터리의 총 용량 확인 시, 전체 파일 사이즈가 줄어들어 이에 대한 내용을 정리한다.


[2. df vs du]

df는 파일 시스템의 디스크 블록을 조회하여 총값과 자유 블록의 수를 계산

 

du 는 입력으로 주어진 파일 혹은 디렉터리가 사용하는 전체 파일 용량을 계산한다.


[3. 문제 원인]

df 와 du 는 사용중인 용량을 계산하는데 있어서 근본적인 차이가 있다.

따라서 아래와 같은 이유가 원인이 된다.

  • 파일 디스크립터가 열린 상태에서 파일이 삭제된 경우입니다. 
  • df는 dirty buffer에 있는 용량을 계산에 포함하지만 du는 계산하지 않는 경우입니다.

[4. 해결 방법]

  • lsof 명령어를 통해 delete 된 파일을 점유하는 프로세스를 재실행 한다.
  • /proc/{pid}/fd 내 경로에서 delete 된 파일 디스크립터를 강제로 해제한다.

[5. 참고자료]

'서버 관리 > 리눅스' 카테고리의 다른 글

chrome 임시 파일 관련 용량 관리  (0) 2024.06.11
계정 추가. useradd, adduser  (1) 2023.10.17
shell script 정리  (0) 2023.04.17
jq 명령어  (0) 2023.02.05
커널 매개변수  (0) 2023.02.04