서버를 운영할 때 중요한 것중 하나가 디스크가 꽉 차지 않도록 유지하는 것입니다.
디스크가 꽉 차게 되면 여러 어플리케이션들이 오동작 할 수 있으며
심각한 경우 로그인이 어려워질수도 있습니다.
디스크 용량 확인
디스크가 꽉 찼는지 확인하기 위해서는 df 명령을 사용합니다.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 40G 40G 372M 100% /
devtmpfs 1.9G 0 1.9G 0% /dev
이제 용량을 많이 차지하는 파일을 찾아보겠습니다.
폴더별 용량 확인
루트 경로에서 du 명령을 사용해 폴더별 사용량을 체크해 볼 수 있습니다.
미쳐 캡쳐하기 전에 파일을 삭제, 정리하는 바람에 아래 예제에는 큰 용량의 파일이 보이진 않네요
$ sudo du -sh * | sort -hr
3.8G usr
1.9G var
1.6G home
218M opt
205M boot
200M run
35M etc
764K tmp
196K root
0 sys
0 srv
파일 삭제 후에도 용량이 안늘어난다면?
간혹 파일 삭제 후에도 용량이 확보되지 않을때가 있습니다.
이 경우 활성 프로세스나 좀비 프로세스가 파일 디스크립터를 들고 있어서일 가능성이 높습니다.
이때는 lsof 명령을 이용해 문제가 되는 프로세스를 식별할 수 있습니다.
$ /usr/sbin/lsof / | grep deleted
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
...
PID 컬럼에서 프로세스 ID를 확인한 후 ps 명령으로 재차 확인을 합니다.
문제의 프로세스를 kill -9 #PID# 등의 명령으로 종료한뒤
lsof 명령을 다시 실행하면 문제의 FD 들이 삭제된 것을 확인할 수 있습니다.
$ kill -9 12345
$ /usr/sbin/lsof / | grep deleted
이후 df 명령을 사용해서 디스크 용량을 확인하면
공간이 확보된 것을 확인할 수 있습니다.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 40G 7.8G 33G 20% /
devtmpfs 1.9G 0 1.9G 0% /dev
Udemy의 리눅스 커맨드라인 부트캠프 강의로 리눅스 기초 체력을 향상시켜 보세요!
본 포스팅은 제휴마케팅을 통해 소정의 수수료를 지급받을 수 있습니다.