리눅스

[리눅스] 용량 확인 명령어와, df -h / du -h 의 차이점

홍또~ 2021. 1. 4. 23:13

일반적으로 작은 시스템에서는 df -h 나 du -h의 차이를 느끼기 힘들다.

그러나 접속량이 높은 큰 시스템의 경우 급격히 늘어나는 log파일 용량 때문에

두개의 명령어의 용량이 차이날 수 있다.

그렇다면 차이나는 이유는 무엇일까?

1.원인

df -h → 프로세스가 잡고있는 용량까지 출력

du -h → 실제 용량 출력

따라서 du -h 가 정확한 실용량이고,

df -h 를 했을때 용량이 더 많은 부분은  이미 파일이 삭제되었지만 어떤 프로세스가 해당 용량을 이미 할당해서

기동되고있는것이 원인이다.

2.해결

lsof를 yum으로 설치한 후 lsof 명령어를 입력하면 프로세스별 용량 사용량이 나온다.

그중 Delete된 파일을 잡고있는 프로세스 pid를 찾아 kill 해주면 된다.

(보통은 was가 잡고있을거라 kill하면 was가 죽기 때문에, 운영환경이면 합의하에 was를 재기동하는게 좋다)