스왑 메모리 확인:
다음 명령어들을 사용하여 스왑 메모리의 존재와 사용량을 확인할 수 있습니다
bashCopyfree -h
이 명령어는 메모리와 스왑 사용량을 사람이 읽기 쉬운 형태로 보여줍니다.
bashCopyswapon --show
이 명령어는 현재 사용 중인 스왑 공간의 세부 정보를 표시합니다.
bashCopycat /proc/swaps
이 명령어는 활성화된 스왑 영역에 대한 정보를 표시합니다.
스왑 파일 생성 및 활성화:
스왑 메모리가 없거나 추가가 필요한 경우, 다음 단계를 따라 스왑 파일을 생성하고 활성화할 수 있습니다:
#!/bin/bash
# 스왑 파일 크기 설정 (GB 단위)
SWAP_SIZE=2
# 스왑 파일 생성
sudo fallocate -l ${SWAP_SIZE}G /swapfile
# 권한 설정
sudo chmod 600 /swapfile
# 스왑 파일 포맷
sudo mkswap /swapfile
# 스왑 활성화
sudo swapon /swapfile
# 부팅 시 자동 마운트를 위해 /etc/fstab에 추가
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 스왑 설정 확인
echo "Swap configuration:"
free -h
swapon --show
echo "Swap file created and activated successfully."
이 스크립트를 사용하려면:
스크립트를 서버의 적절한 위치(예: /home/centos/create_swap.sh)에 저장합니다.
실행 권한을 부여합니다:
Copychmod +x /home/centos/create_swap.sh
루트 권한으로 스크립트를 실행합니다:
Copysudo /home/centos/create_swap.sh
주의사항:
스크립트는 기본적으로 2GB의 스왑 파일을 생성합니다. 필요에 따라 SWAP_SIZE 변수를 수정하여 크기를 조정할 수 있습니다.
스왑 파일 크기는 시스템의 RAM 크기와 워크로드에 따라 다르게 설정해야 합니다. 일반적으로 RAM의 1~2배 정도로 설정합니다.
이미 스왑 파일이 존재하는 경우, 이 스크립트를 실행하기 전에 기존 스왑을 비활성화하고 제거해야 합니다.
스왑 메모리 관리에 대한 추가 팁:
스왑 사용량이 너무 높으면 시스템 성능이 저하될 수 있습니다. 정기적으로 모니터링하는 것이 좋습니다.
SSD를 사용하는 경우, 스왑 사용으로 인한 디스크 수명 단축을 고려해야 합니다.
클라우드 환경에서는 프로바이더의 권장사항을 따르는 것이 좋습니다.
현재 스왑메모리가 Swap: 8G 이렇게 운용되고 있는데 이걸 16G 로 늘리려면?
현재 8GB의 스왑 메모리를 16GB로 늘리는 과정은 다음과 같습니다. 이 과정에서는 기존 스왑을 비활성화하고 새로운 크기의 스왑 파일을 생성한 후 활성화합니다.
#!/bin/bash
# 새로운 스왑 크기 설정 (GB)
NEW_SWAP_SIZE=16
# 현재 스왑 파일 위치 확인
CURRENT_SWAP_FILE=$(swapon --show=NAME --noheadings)
# 스왑 비활성화
sudo swapoff -a
# 기존 스왑 파일이 있다면 삭제
if [ -n "$CURRENT_SWAP_FILE" ]; then
sudo rm $CURRENT_SWAP_FILE
fi
# 새로운 스왑 파일 생성
sudo fallocate -l ${NEW_SWAP_SIZE}G /swapfile
# 권한 설정
sudo chmod 600 /swapfile
# 스왑 파일 포맷
sudo mkswap /swapfile
# 새 스왑 활성화
sudo swapon /swapfile
# /etc/fstab 업데이트
# 먼저 기존 스왑 항목 제거
sudo sed -i '/swap/d' /etc/fstab
# 새 스왑 파일 항목 추가
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 새 스왑 설정 확인
echo "New swap configuration:"
free -h
swapon --show
echo "Swap file expanded to 16GB and activated successfully."
이 스크립트를 사용하려면:
스크립트를 서버의 적절한 위치(예: /home/centos/expand_swap.sh)에 저장합니다.
실행 권한을 부여합니다:
Copychmod +x /home/centos/expand_swap.sh
루트 권한으로 스크립트를 실행합니다:
Copysudo /home/centos/expand_swap.sh
주의사항:
이 스크립트는 현재 스왑을 비활성화하고 새로운 스왑 파일을 생성합니다. 이 과정에서 일시적으로 시스템의 메모리 사용량이 증가할 수 있습니다.
충분한 디스크 공간이 있는지 확인하세요. 16GB의 여유 공간이 필요합니다.
실행 전에 중요한 작업을 저장하고, 가능하다면 시스템 부하가 적은 시간에 실행하세요.
스크립트 실행 중 오류가 발생하면 시스템이 스왑 없이 작동할 수 있으므로 주의가 필요합니다.
클라우드 환경에서는 프로바이더의 권장사항을 따르는 것이 좋습니다.
스크립트 실행 후:
free -h 명령어로 새로운 스왑 크기를 확인하세요.
시스템을 재부팅하여 모든 변경사항이 제대로 적용되었는지 확인하는 것이 좋습니다.