리눅스 df 용량 확인이 du 용량 확인과 다르다?Server TO(Technical Operation)/Linux2018. 6. 8. 22:12
Table of Contents
반응형
리눅스 서버를 운영하다 보면 용량이 부족 현상이 발생
리눅스 프로세스 중에 temp로 사용되는 resource가 있다!! 바로 이것 때문이다!!
그래서 해당 프로세스를 종료하게 되면 그 resource 가 해제되어 사용할 수 있는 용량이 확보된다.
용량 확인
df 확인
root@0acd15c1ee60:/# df -h
Filesystem Size Used Avail Use% Mounted on
none 50G 44.3G 5.2G 91% /
tmpfs 64M 0 64M 0% /dev
tmpfs 1002M 0 1002M 0% /sys/fs/cgroup
/dev/sda1 50G 44.3G 5.2G 91% /etc/hosts
shm 64M 0 64M 0% /dev/shm
tmpfs 1002M 0 1002M 0% /proc/scsi
tmpfs 1002M 0 1002M 0% /sys/firmware
du 확인
root@0acd15c1ee60:/# du -h /
Filesystem Size Used Avail Use% Mounted on
none 50G 34G 16G 68% /
전체 사용된 용량을 보면 df에서는 44.3G, du에서는 34G 이다.
프로세스 리소스를 확인
root@0acd15c1ee60:/# lsof -nP | grep '(deleted)'
삭제된 프로세스 리소스가 보인다.
삭제된 프로세스를 종료시키면 해당 프로세스에서 사용된 리소스가 반환되어 용량이 다시 늘어나게 된다.
systemd-j 378 root txt REG 202,1 326224 396038 /lib/systemd/systemd-journald (deleted)
dhclient 847 root txt REG 202,1 487248 458 /sbin/dhclient (deleted)
systemd-l 977 root txt REG 202,1 618520 401682 /lib/systemd/systemd-logind (deleted)
apache2 13187 root 18w REG 0,20 0 7 /run/lock/apache2/ssl-cache.13186 (deleted)
apache2 13187 root 66w REG 0,20 0 8 /run/lock/apache2/rewrite-map.13187 (deleted)
apache2 21575 www-data 18w REG 0,20 0 7 /run/lock/apache2/ssl-cache.13186 (deleted)
apache2 21575 www-data 66w REG 0,20 0 8 /run/lock/apache2/rewrite-map.13187 (deleted)
apache2 21575 21579 www-data 18w REG 0,20 0 7 /run/lock/apache2/ssl-cache.13186 (deleted)
apache2 21575 21579 www-data 66w REG 0,20 0 8 /run/lock/apache2/rewrite-map.13187 (deleted)
프로세스 종료 명령어
kill -9 [pid]
root@0acd15c1ee60:/# sudo kill -9 21575
다시 용량을 확인해보면 아래와 같이 5.2G 에서 16.6G로 리소스가 반환되어 용량이 늘어났다!!
root@0acd15c1ee60:/# df -h
Filesystem Size Used Avail Use% Mounted on
none 50G 33.4G 16.6G 67% /
tmpfs 64M 0 64M 0% /dev
tmpfs 1002M 0 1002M 0% /sys/fs/cgroup
/dev/sda1 50G 33.4G 16.6G 67% /etc/hosts
shm 64M 0 64M 0% /dev/shm
tmpfs 1002M 0 1002M 0% /proc/scsi
tmpfs 1002M 0 1002M 0% /sys/firmware
리눅스를 이용하다 보면 이와같이 용량이 갑자기 증가되었을 때 삭제된 프로세스가 없는지 확인해야 한다.
@달끄 :: 코트슈
코트슈(Code Troubleshooter) 프로그래머의 일상 Execution, Errors, Find, Solution 개발자들은 많은 오류로 시간을 허비한다... 코트슈가 도와드립니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!