[Linux] 파일 삭제해도 용량이 늘어나지 않을때 (용량 부족 시)
서버를 점검하거나 장애사항 볼때 이상한?상황을 마주하는경우가 많이 있습니다.
[내용] - Hard Full, 용량 부족, 삭제하여도 용량 있음, 용량 확보 방법
그 중에 하나로 서버의 용량이 부족 시 df표시된 용량과 실제용량이 다르거나
하드디스크에 있는 파일을 아무리 지워도 용량이 확보가 안될때가 있습니다.
애석하게도 서버 재부팅을 하게되면 용량이 확보가 되는 경우를 한번쯤 겪어보았을 것입니다. ㅋㅋ
[증상]
예시) 정리한다고 하였지만 용량이 있는 경우
~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 ext4 2.5G 2.4G 0 100% / tmpfs tmpfs 937M 0 937M 0% /dev/shm |
이는 리눅스의 특정 서비스나 프로세스가 불필요하게 더미데이터(쓰레기)파일을 가지고 있는 경우가 있습니다.
[원인]
이럴때는 lsof를 이용하여, 불필요하게 용량을 잡고 있는 쓰레기 데이터를 찾아야합니다.
예시) rsyslogd 서비스가 messages 로그를 차지하고 있음. (보통은 리눅스 자체 서드파티가 아닌 사용자 서비스가 더미데이터를 가지고 있음) ~]# lsof / <------ 1차 용량이 없는 파티션을 검색 ~]# lsof -p 1264 <------ 2차 pid를 이용한 검색으로 좀더 자세히 확인 판단 (프로세스 잘못 판단 kill하였다가 문제가 발생될 수 있음) |
[조치]
해당 문제되는 프로세스 ID를 찾은 후 해당 프로세스를 죽입니다. (kill~)
[죽이는 방법] 예시 1) service [프로세스] stop 예시 2) kill -9 1264 |
정리된 후 쓰레기 파일을 삭제한 후에 df명령으로 용량을 재확인 해봅니다.
그러면 초기의 문제보다 좀 더 숨통이 틔일겁니다.
물론 서버의 문제가 났을때 해당경우로 조치가 안될 수 있으나 하나의 방법을 통한 좀 더 조치에 나아가는 자세가 좋은게 아닐까요? ㅎㅎ
아참 그리고, lsof 명령어에 대해 궁금하신 분은 요기로 참조 해주세용 --> https://musclebear.tistory.com/65