IT/Unix & Linux

du와 df 사이즈가 다를 때 조치방법 - lsof 사용

슈다루냥 2019. 6. 4.

안녕하세요. 슈다 입니다.

 

파일시스템 정리가 필요해 어떠한 파일 or 디렉토리가 사용률이 높은지 확인하기 위해 du 명령을 사용하였는데

df 로 확인한 파일시스템 사용률과 du 로 계산한 사이즈가 현저하게 차이가 날 경우가 발생할 수 있습니다.

이러한 경우는 특정 프로세스가 해당 파일시스템을 과도하게 사용하게 되면 발생하는데요,

우선 du 명령과 df 명령을 비교하면 아래와 같습니다.

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

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

 

만약 /test 라는 파일시스템의 전체 사이즈가 10GB며 df 명령으로 확인시 80% 사용중이라고 확인이 되는데,

du 명령으로 /test 파일시스템의 사용량을 확인해 보니 출력된 결과를 계산해보니 80% 사용률이 되지 않을 경우

"lsof" 툴을 이용하여 어떠한 프로세스가 과도한 FS를 점유하고 있는지 확인이 가능합니다.

 

# lsof | grep 파일시스템명

 

위 명령 사용하면 아래와 같은 형식으로 해당 파일시스템과 연관된 프로세스 리스트가 출력됩니다.

COMMAND  PID         USER    FD     TYPE    DEVICE     SIZE/OFF          NODE   NAME 
test123        123450    UserID  cwd   VDIR    10,18        12312312312     2         /test (/dev/test_lv)

 

해당 결과에서 "SIZE/OFF" 항목이 비 정상적으로 높은 프로세스를 확인하여 PID로 프로세스를 검색하고 kill 등의 조치를

취할 수 있습니다.

반응형