8gb로 Next.js를 배포하려 했다.
하지만 도커 크기만 쳐도 어림도 없었다.
docker system prune -a -f
명령어를 통해 사용하지 않는 도커 크기를 줄여봤지만 그래도 부족했다.
현재 스토리지 확인하는 방법과 용량 늘리기에 대해서 설명할 것이다.
참고로 스토리지란 SSD나 HDD같은 물리적 저장장치이다.
df -h
명령어를 사용하면 아래처럼 보인다.
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.6G 7.1G 479M 94% /
devtmpfs 476M 0 476M 0% /dev
...
sudo du -h --max-depth=1 ${찾고싶은위치} | sort -rh
# 예를 들어 도커의 크기를 알고싶으면 아래처럼 입력하면 된다.
sudo du -h --max-depth=1 /var/lib/docker | sort -rh
명령어를 사용하면 아래처럼 보인다.
sudo du -h --max-depth=1 /var/lib/docker | sort -rh
2.7G /var/lib/docker/overlay2
2.7G /var/lib/docker
8.7M /var/lib/docker/buildkit
940K /var/lib/docker/image
56K /var/lib/docker/network
44K /var/lib/docker/containers
28K /var/lib/docker/volumes
16K /var/lib/docker/plugins
4.0K /var/lib/docker/tmp
4.0K /var/lib/docker/swarm
4.0K /var/lib/docker/runtimes
free -h
아래처럼 대략적인 메모리 사용량이 표시된다.
total used free shared buff/cache available
Mem: 966Mi 404Mi 83Mi 1.0Mi 478Mi 368Mi
Swap: 0B 0B 0B
아래의 명령어를 통해 라이브러리를 설치 후 확인할 수 있다.
프로세스별 자세한 메모리 사용량을 볼 수 있다.
sudo apt-get install htop
htop
- PID: 프로세스 ID (고유 식별자). 각 프로세스마다 고유한 숫자 ID가 할당됩니다.
- USER: 프로세스를 실행시킨 사용자의 이름을 표시합니다.
- PR: 프로세스의 우선 순위를 나타냅니다. 높은 숫자가 낮은 우선 순위를 의미합니다.
- NI: 프로세스의 "nice" 값으로, 프로세스의 우선 순위에 영향을 줍니다. 음수 값일수록 더 높은 우선 순위를 갖습니다.
- VIRT: 가상 메모리 사용량을 표시합니다. 프로세스가 사용 중인 실제 물리적 메모리보다 더 큰 가상 메모리를 사용하는 경우가 있을 수 있습니다.
- RES: 실제 물리적 메모리 (Resident Set) 사용량을 표시합니다. 프로세스가 현재 사용 중인 실제 메모리 양을 나타냅니다.
- SHR: 프로세스의 공유 메모리 사용량을 표시합니다. 다른 프로세스와 공유되는 메모리 양을 나타냅니다.
- %CPU: 프로세스가 사용하는 CPU 사용량의 백분율을 표시합니다.
- %MEM: 프로세스가 사용하는 메모리 사용량의 백분율을 표시합니다.
GPT 발췌..
기타 top
과 같은 명령어도 있다.
sudo lsblk
xvda 202:0 0 16G 0 disk
├─xvda1 202:1 0 7.9G 0 part /
├─xvda14 202:14 0 4M 0 part
└─xvda15 202:15 0 106M 0 part /boot/efi
sudo growpart /dev/xvda 1
# sudo growpart ${디바이스 경로} ${파티션 번호}
# 결과 : CHANGED: partition=1 start=227328 old: size=16549855 end=16777183 new: size=33327071 end=33554399
sudo lsblk
xvda 202:0 0 16G 0 disk
├─xvda1 202:1 0 15.9G 0 part /
├─xvda14 202:14 0 4M 0 part
└─xvda15 202:15 0 106M 0 part /boot/efi
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.6G 7.1G 479M 94% /
sudo resize2fs /dev/root
docker system prune
: 도커 시스템에서 사용하지 않는 리소스를 정리하는 명령어입니다.
a 옵션
: 모든 사용하지 않는 이미지를 포함하여 정리합니다.f 옵션
: 프롬프트 없이 강제로 정리합니다. 즉, 확인 메시지 없이 바로 삭제 작업이 수행됩니다.docker system prune -a -f
Deleted Networks:
deploy
Deleted Images:
...
Deleted build cache objects:
...
Total reclaimed space: 2.759GB