가상 RAM 모듈 설치하기

LinuxBeginner
지금 연습하기

소개

컴퓨터 시스템에서 RAM(Random Access Memory)은 실행 중인 애플리케이션의 데이터를 저장하는 핵심 구성 요소입니다. 물리적 RAM이 모두 사용되면 운영 체제는 시스템 충돌을 방지하기 위해 하드 드라이브의 일부를 "가상 메모리"로 사용할 수 있습니다. 이 가상 메모리를 일반적으로 스왑 공간(swap space)이라고 합니다.

이 실습에서는 스왑 파일을 생성하고 활성화하여 시스템의 가상 메모리를 늘리는 과정을 안내합니다. 이는 물리적 RAM이 제한된 시스템에서 성능을 향상하기 위한 일반적인 시스템 관리 작업입니다. 메모리 사용량을 확인하고, 스왑 파일을 생성하며, 이를 활성화하고 모니터링하는 방법을 배우게 됩니다.

하이퍼바이저에서 가상 머신 설정 확인

이 단계에서는 리눅스 환경의 현재 메모리 및 스왑 공간 구성을 확인합니다. 이는 변경 작업을 수행하기 전 기준점을 마련하기 위함입니다. 시스템의 물리적 메모리와 스왑 메모리의 총량, 사용량, 여유 공간을 표시하는 free 명령어를 사용합니다.

먼저 터미널을 엽니다. 사람이 읽기 쉬운 형식(예: MB 또는 GB 단위)으로 출력하기 위해 -h 플래그를 사용합니다.

다음 명령어를 실행하세요:

free -h

다음과 유사한 출력이 나타납니다. 정확한 수치는 시스템의 현재 상태에 따라 다를 수 있습니다.

               total        used        free      shared  buff/cache   available
Mem:           3.5Gi       502Mi       1.2Gi       3.0Mi       1.8Gi       2.8Gi
Swap:             0B          0B          0B

위 출력에서:

  • Mem: 물리적 메모리(RAM)를 나타냅니다.
  • Swap: 가상 메모리(스왑 공간)를 나타냅니다. 보시다시피 현재 구성된 스왑 공간이 없습니다.

우리의 목표는 스왑 파일을 추가하여 전체 가상 메모리 용량을 늘리는 것입니다.

RAM 할당량을 4GB로 증설

이 단계에서는 가상 RAM 역할을 할 2GB 크기의 스왑 파일을 생성합니다. 파일 생성, 권한 설정, 스왑 형식 지정, 활성화의 순서로 진행합니다.

먼저 fallocate 명령어를 사용하여 특정 크기의 파일을 즉시 생성합니다. 프로젝트 디렉터리 내에 swapfile이라는 이름의 2GB 파일을 생성합니다.

sudo fallocate -l 2G ~/project/swapfile

다음으로 보안을 위해 루트 사용자만 이 스왑 파일을 읽고 쓸 수 있도록 설정해야 합니다. chmod를 사용하여 올바른 권한을 부여합니다.

sudo chmod 600 ~/project/swapfile

이제 mkswap 명령어를 사용하여 이 파일을 스왑 영역으로 포맷해야 합니다.

sudo mkswap ~/project/swapfile

새 스왑 영역에 대한 UUID를 포함하여 설정이 완료되었다는 출력이 표시됩니다.

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

마지막으로 swapon 명령어를 사용하여 스왑 파일을 활성화합니다. 이렇게 하면 새로운 가상 메모리를 시스템에서 즉시 사용할 수 있게 됩니다.

sudo swapon ~/project/swapfile

이제 시스템이 새로 생성된 스왑 파일을 사용하게 됩니다.

free -h 명령어로 RAM 감지 확인

이 단계에서는 새로운 스왑 파일이 성공적으로 활성화되었고 시스템이 이를 인식하고 있는지 확인합니다. 첫 번째 단계에서 했던 것처럼 free -h 명령어를 다시 사용합니다.

터미널에서 다음 명령어를 실행하세요:

free -h

이제 출력 결과가 달라졌을 것입니다. Swap 행에 우리가 할당한 2GB 공간이 표시되는 것을 확인하세요.

               total        used        free      shared  buff/cache   available
Mem:           3.5Gi       543Mi       1.2Gi       3.0Mi       1.8Gi       2.7Gi
Swap:          2.0Gi          0B       2.0Gi

이로써 시스템에 2GB의 가상 메모리를 성공적으로 추가했음이 확인되었습니다. 이제 운영 체제는 물리적 RAM이 부족할 경우 이 공간을 사용할 수 있습니다.

htop 명령어로 RAM 사용량 모니터링

이 단계에서는 인기 있는 대화형 프로세스 뷰어이자 시스템 모니터인 htop을 사용하는 방법을 배웁니다. top 명령어보다 더 상세하고 사용자 친화적인 시스템 리소스 뷰를 제공합니다.

터미널에 이름을 입력하여 htop을 실행할 수 있습니다.

htop

터미널 화면이 htop 인터페이스로 바뀝니다. 상단에서 CPU, 메모리(Mem), 스왑(Swp) 미터를 볼 수 있습니다. 설정한 2.00G의 총 스왑 공간이 표시되는 Swp 미터를 확인하세요.

  CPU[||                                 1.3%]   Tasks: 31, 0 thr; 1 running
  Mem[|||||||||                   78/1985MB]   Load average: 0.00 0.01 0.00
  Swp[                              0/2048MB]   Uptime: 00:05:10

이 인터페이스를 통해 물리적 메모리와 가상 메모리가 실시간으로 얼마나 사용되고 있는지 모니터링할 수 있습니다. htop을 종료하려면 키보드의 q 키를 누르세요.

htop을 종료한 후, Check 버튼을 클릭하기 전에 ls와 같은 간단한 명령어를 한 번 실행하세요. 이는 최근 실행한 htop 명령어가 셸 기록에 저장되어 검증 도구가 이를 감지할 수 있도록 하기 위함입니다.

변경 사항 되돌리기 및 VM 재시작

마지막 단계에서는 스왑 파일을 비활성화하고 제거하는 방법을 배웁니다. 이는 추가 가상 메모리가 더 이상 필요하지 않거나 크기를 조정하려는 경우에 유용합니다.

먼저 swapoff 명령어를 사용하여 스왑 파일을 비활성화해야 합니다. 이는 운영 체제에 스왑 용도로 해당 파일 사용을 중단하라고 지시하는 것입니다.

sudo swapoff ~/project/swapfile

스왑 파일이 비활성화되면 일반 파일과 다를 바 없으므로 rm 명령어를 사용하여 안전하게 삭제할 수 있습니다.

sudo rm ~/project/swapfile

변경 사항이 되돌려졌는지 확인하려면 마지막으로 free -h 명령어를 실행합니다.

free -h

이제 출력 결과가 1단계에서 보았던 것과 동일하게 Swap 행의 용량이 0으로 표시되어야 합니다.

               total        used        free      shared  buff/cache   available
Mem:           3.5Gi       536Mi       1.1Gi       3.0Mi       1.9Gi       2.7Gi
Swap:             0B          0B          0B

이제 환경을 원래 상태로 성공적으로 되돌렸습니다.

요약

실습을 완료하신 것을 축하합니다! 스왑 파일을 사용하여 리눅스 시스템의 가상 메모리를 관리하는 방법을 성공적으로 배웠습니다.

이번 실습에서 다음과 같은 핵심 시스템 관리 기술을 연습했습니다:

  • free -h를 통한 시스템 메모리 확인.
  • fallocate를 사용한 대용량 파일 즉시 생성.
  • mkswap을 사용한 스왑 영역 설정.
  • swaponswapoff를 사용한 스왑 공간 활성화 및 비활성화.
  • htop을 사용한 시스템 리소스 모니터링.

이러한 기술은 리눅스 서버를 관리하고 특히 리소스가 제한된 환경에서 시스템이 원활하게 작동하도록 보장하는 데 필수적입니다.