리눅스 시스템에서 메모리가 부족하면 스왑 파티션을 사용하여 메모리를 확장할 수 있습니다. 스왑 파티션은 하드 디스크나 SSD의 일부 공간을 할당하여 메모리처럼 사용하는 것입니다. 이 글은 리눅스 시스템에서 2GB 크기의 스왑 파티션을 추가하는 과정을 상세히 설명하고 있습니다. 여기에 몇 가지 팁과 주의 사항이 추가로 제시되어 있습니다.
리눅스 swap 스왑 파티션 추가하기
- 현재 메모리 사용량 확인:
# free -m
현재 메모리 상태를 확인하기 위해 free 명령을 사용합니다.free -m
명령을 사용하여 현재 시스템의 메모리 사용량을 확인합니다. 이 명령은 사용 가능한 메모리(MemFree), 사용 중인 메모리(MemUsed), 캐시 메모리(Buffers), 스왑 공간(SwapFree)을 출력합니다.
- 파티션 테이블 확인:
# fdisk -l ; lsblk
시스템의 파티션 테이블을 확인하기 위해 fdisk와 lsblk 명령을 사용합니다.fdisk -l ; lsblk
명령을 사용하여 파티션 테이블을 확인합니다. 이 명령은 파티션 테이블에 있는 모든 파티션의 정보를 출력합니다.
- 새 스왑 파티션 생성:
# fdisk /dev/sda
p -> n -> e -> 6 enter -> +500M enter -> p -> t enter -> l enter -> 82 -> p -> w
fdisk를 사용하여 새 스왑 파티션을 생성합니다. 이때, 여러 명령을 사용하여 파티션의 크기와 유형을 설정합니다.fdisk
명령을 사용하여 새 스왑 파티션을 생성합니다. p
명령을 사용하여 현재 파티션 테이블을 확인합니다. n
명령을 사용하여 새 파티션을 생성합니다. e
명령을 사용하여 파티션 유형을 지정합니다. 6
은 스왑 파티션의 유형입니다. +500M
은 파티션의 크기를 지정합니다. p
명령을 사용하여 새로 생성된 파티션을 확인합니다. t
명령을 사용하여 파티션 유형을 확인합니다. l
명령을 사용하여 파티션 유형을 lvm(Logical Volume Manager)으로 변경합니다. 82
는 lvm 파티션의 유형입니다. p
명령을 사용하여 변경 사항을 저장합니다.
- 변경 사항 적용:
# partprobe
파티션 변경 사항을 커널에 적용하기 위해 partprobe 명령을 사용합니다.partprobe
명령을 사용하여 변경 사항을 커널에 적용합니다.
- 스왑 파티션 초기화 및 UUID 확인:
# mkswap /dev/sda6
# blkid /dev/sda6
새로 생성된 스왑 파티션을 초기화하고, 해당 파티션의 UUID를 확인합니다.mkswap
명령을 사용하여 새 스왑 파티션을 스왑 공간으로 초기화합니다. 이 명령은 새 스왑 파티션을 0으로 초기화하고 스왑 공간으로 사용할 수 있도록 만듭니다.blkid
명령은 장치의 블록 ID를 표시합니다. /dev/sda6
은 하드 드라이브의 여섯 번째 파티션을 나타냅니다.
- fstab 파일에 추가:
# echo "UUID=UUID swap swap defaults 0 0" >> /etc/fstab
새 스왑 파티션을 fstab 파일에 추가하여 부팅 시 자동으로 마운트되도록 설정합니다.fstab
파일에 새 스왑 파티션을 추가합니다. fstab
파일은 시스템 부팅 시 자동으로 마운트해야 하는 파티션 정보를 포함하는 파일입니다. 다음은 새 스왑 파티션을 fstab
파일에 추가하는 예입니다.defaults
는 기본 스왑 설정을 사용한다는 의미입니다. 0 0
은 스왑 파티션의 우선 순위를 지정하는 옵션입니다. 0은 가장 높은 우선 순위, 100은 가장 낮은 우선 순위를 의미합니다.
- 스왑 활성화 및 확인:
# swapon -a
# swapon -s
새로 추가한 스왑 파티션을 활성화하고, 활성화된 스왑 파티션의 정보를 확인합니다.swapon -a
명령을 사용하여 스왑 공간을 활성화합니다. 이 명령은 모든 스왑 공간을 활성화합니다.swapon -s
명령을 사용하여 스왑 공간이 활성화되었는지 확인합니다. 이 명령은 활성화된 스왑 공간의 정보를 출력합니다.
- 메모리 사용량 재확인:
# free -m
최종적으로 메모리 사용량을 확인하여 새로운 스왑 파티션이 정상적으로 동작하는지 확인합니다.free -m
명령을 사용하여 메모리 사용량을 확인합니다. 새 스왑 파티션이 추가되면 SwapFree
값이 증가합니다.
blkid /dev/sda6
설명
blkid /dev/sda6
을 실행하면 다음과 같은 출력이 표시됩니다.
/dev/sda6: UUID="1234-5678-90ab-cdef" TYPE="ext4"
출력의 각 열은 다음을 나타냅니다.
- 장치 이름:
/dev/sda6
- UUID:
1234-5678-90ab-cdef
- 파일 시스템 유형:
ext4
UUID는 장치를 식별하는 데 사용되는 고유한 128비트 값입니다. 파일 시스템 유형은 장치에 있는 파일 시스템의 유형을 나타냅니다.
blkid
명령은 다음과 같은 옵션을 사용할 수 있습니다.
-L
: 장치의 UUID만 표시합니다.-t
: 장치의 파일 시스템 유형만 표시합니다.-o
: 출력 형식을 지정합니다. 가능한 형식은 다음과 같습니다.value
: 기본값으로, UUID와 파일 시스템 유형을 모두 표시합니다.uuid
: UUID만 표시합니다.type
: 파일 시스템 유형만 표시합니다.
예를 들어, 다음 명령은 /dev/sda6
의 UUID만 표시합니다.
blkid -L /dev/sda6
출력은 다음과 같습니다.
/dev/sda6: UUID="1234-5678-90ab-cdef"
스왑 설정 팁
- 스왑 파티션의 크기는 시스템의 메모리 크기에 따라 적절하게 설정해야 합니다. 일반적으로 메모리 크기의 2배 정도의 크기를 사용하는 것이 좋습니다.
- 스왑 파티션을 효율적으로 사용하기 위해서는 스왑 파티션에 저장할 데이터를 잘 선택해야 합니다. 캐시 메모리로 사용될 데이터는 스왑 파티션에 저장하지 않는 것이 좋습니다.
- 스왑 파티션을 추가할 때는 기존의 파티션에 영향을 주지 않도록 주의해야 합니다.
- 스왑 파티션을 추가할 때는 충분한 여유 공간을 확보해야 합니다.
- 스왑 파티션은 시스템 부팅 시 자동으로 마운트되도록
fstab
파일에 추가해야 합니다.