본문 바로가기
AWS

EC2 저장공간 부족 문제 해결

by huffpuffkin 2026. 2. 20.

EC2에 스프링부트 서버를 띄워서 제공하던 중 서버가 다운되는 문제가 발생했다. 이전에는 항상 서버가 다운되면 메모리 문제였기 때문에 이번에도 메모리를 확인해보았지만 이번에는 메모리는 문제가 없었다..! 

 

 

 

따라서 앱 로그를 확인해보니 아래와 같이 저장공간이 부족하다고 경고가 계속 떴던 상황이다.

05:00:44.119 [http-nio-8080-exec-8] WARN o.s.b.a.s.DiskSpaceHealthIndicator - Free disk space at path '/app/.' below threshold. Available: 3923968 bytes (threshold: 10485760B) 2026-02-15

 

 

 

따라서 어떤 것들이 저장공간을 차지하고 있는지 확인해보았다

df -h /app

** df -h: 용량을 GB, MB 등 보기 쉬운 단위로 표시

 

 

Filesystem       Size  Used Avail Use% Mounted on
/dev/root         14G   14G  1.5M 100% /
tmpfs            1.9G     0  1.9G   0% /dev/shm
tmpfs            768M  9.2M  759M   2% /run
tmpfs            5.0M     0  5.0M   0% /run/lock
efivarfs         128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/nvme0n1p16  881M  155M  665M  19% /boot
/dev/nvme0n1p15  105M  6.2M   99M   6% /boot/efi
tmpfs            384M   12K  384M   1% /run/user/1000

 

확인해보면 루트 파티션 (/dev/root)이 14GB를 사용하고 있었다. 이후 추적해보니 /var 폴더에서 가장 많은 저장공간을 사용하고 었었고, 이후 세부 사항 파악을 위해 아래 명령어를 실행했다.

 

 

sudo du -sh /var/* 2>/dev/null | sort -rh

du: 디스크 사용량을 표시

 

 

 

결과는 다음과 같았다.

9.4G    /var/lib
211M    /var/cache
143M    /var/log
1.1M    /var/backups
60K     /var/tmp
52K     /var/snap
16K     /var/spool
4.0K    /var/opt
4.0K    /var/mail
4.0K    /var/local
4.0K    /var/crash
0       /var/run
0       /var/lock

 

 

lib 폴더 내부에서도 containered 라는 폴더가 8.0GB를 차지 중이었다. 

 

lib/containered 폴더는 containered가 관리하는 컨테이너 이미지, 스냅샷, 메타 데이터 등이 저장되는 공간이다. 한 마디로 말해서 나는 깃허브 main 브랜치에 푸시될 때마다 저장소에서 이미지를 pull해서 띄우는 것으로 설정해두었는데, 이때 pull해온 이미지들의 스냅샷이 항상 쌓여서 containered 폴더에 저장된 것이다.

 

 

 

 

 

일단 급한 불부터 꺼야하기 때문에 이미지 목록을 확인하고 정리해주었다.

# 사용하지 않는 이미지, 중지된 컨테이너, 캐시 등 모두 정리
sudo docker system prune -f

 

 

 

 

하지만 항상 이렇게 정리할 수는 없기 때문에 cron으로 주기적으로 자동 정리하도록 설정해주었다.

 

sudo crontab -e
0 3 * * 0 docker system prune -f >> /var/log/docker-prune.log 2>&1

매주 일요일 새벽 3시에 정리