CH-J Server ManagerSSH를 통한 서버 관리
메뉴
모든 가이드와 글 →

Ubuntu와 Debian에서 스왑을 만들거나 확장하는 방법

메모리 사용량을 확인하고 스왑 파일을 만든 뒤 재시작 후에도 유지되도록 설정하고 안전하게 크기를 조정하세요. Btrfs와 zram의 주의 사항도 다룹니다.

스왑이 더 필요한지 확인

스왑은 메모리가 부족할 때 시스템에 여유 공간을 제공하지만 RAM보다 훨씬 느립니다. Linux는 사용하지 않는 메모리를 캐시로 쓰고 필요할 때 해제하므로 free 대신 available 열을 확인하세요. 스왑 활동이 지속된다면 서버에 메모리를 더 추가하거나 프로세스 수를 줄여야 하며, 스왑을 늘려도 해결되지 않습니다.

free -h
swapon --show
vmstat 1 5

스왑 파일 만들기

먼저 디스크의 여유 공간을 확인한 다음 파일을 만들고 권한을 제한한 뒤 포맷하고 활성화하세요. 파일은 root만 읽을 수 있어야 합니다.

df -h /
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show

재시작 후에도 유지

/etc/fstab을 백업한 뒤 한 줄을 추가하세요. fstab에 오류가 있으면 정상 부팅이 불가능할 수 있으므로 재시작 전에 파일을 검증하세요.

sudo cp /etc/fstab /etc/fstab.backup
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo findmnt --verify

스왑 파일 크기 조정

스왑을 비활성화하기 전에 그 내용이 사용 가능한 메모리에 들어갈 수 있는지 확인하세요. swapoff는 내용을 RAM으로 다시 옮기며, 메모리에 들어가지 않으면 프로세스가 강제 종료될 수 있습니다. 그런 다음 파일을 비활성화하고 새 크기로 다시 만든 뒤 활성화하세요. 경로가 바뀌지 않는 한 fstab의 해당 줄은 그대로 유지됩니다.

free -h
sudo swapoff /swapfile
sudo fallocate -l 4G /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Btrfs와 zram

Btrfs에서는 스왑 파일을 특별히 처리해야 합니다. btrfs filesystem mkswapfile을 사용하고, 스왑 파일이 있는 하위 볼륨은 스냅샷에 포함할 수 없다는 점에 유의하세요. zram은 디스크 대신 RAM에 압축된 페이지를 보관하므로 스왑 파일과 다르며, fstab이 아닌 자체 서비스로 관리됩니다.

CH-J Server Manager의 스왑 관리

System Monitor는 RAM 구성 내역, RAM 및 스왑 사용 기록, 각 스왑 영역의 유형, 우선순위, 활동을 표시합니다. root 또는 sudo 권한으로 ext2/3/4, XFS, Btrfs, F2FS에서 /swapfile*, /swap/<name> 또는 /var/lib/swap/<name>의 스왑 파일을 생성, 활성화, 비활성화, 크기 조정, 삭제할 수 있으며, 크기 범위는 64 MiB부터 64 GiB까지입니다. 애플리케이션은 내용이 메모리에 들어가지 않을 스왑의 비활성화를 거부하고 변경할 때마다 /etc/fstab을 백업합니다. 여기서 zram과 zswap은 읽기 전용입니다.

자세한 문서

man: swapon →

man: mkswap →

생체 인증 잠금 해제 및 보안 →