develop/linux

du와 df 용량 차이 날때

아르르르를를르 2020. 4. 27. 17:28

특정 프로세스가 해당 파일시스템을 과도하게 사용하는 경우 발생한다.

 

du: commit된 size를 계산하여 출력

df: 프로세스가 사용중인 size 포함하여 출력

 

lsof 명령어로 어떤 프로세스가 메모리를 잡고 있는지 확인한다.

~$ lsof | grep 파일시스템명

위 명령어는 해당 파일시스템과 연관된 프로세스 리스트가 출력된다.

출력 결과에서 "SIZE/OFF" 가 비정상적으로 높은 프로세스를 확인하여 PID kill 하는 방법 등을 취할 수 있다.

 

 

+ fd leak 문제가 있을 수 있다!

https://blog.daum.net/dhyi123/11755822

 

kernel에서 file descriptor leak 이 나는 경우 확인해야 할 사항.

일반적으로 process의 fd leak은 /proc/${PID}/fd 를 살펴보면 확인이 가능하다. file descriptor의 제한은 0-1023 인 경우가 많기 때문에 1023까지 가득 차게 되면 더이상 file open이 안되고, 마치 메모리 leak..

blog.daum.net

 

참고: https://syuda.tistory.com/47

https://sunow.tistory.com/entry/Linux-df-du%EB%9E%80