35.6. 스왑 시작하기


스왑 공간을 사용하여 비활성 프로세스 및 데이터에 임시 스토리지를 제공하고 물리적 메모리가 가득 차면 메모리 부족 오류를 방지합니다. 스왑 공간은 실제 메모리의 확장 기능 역할을 하며 물리적 메모리가 소진된 경우에도 시스템이 원활하게 계속 실행되도록 합니다. 스왑 공간을 사용하면 시스템 성능이 저하될 수 있으므로 스왑 공간을 사용하기 전에 물리적 메모리 사용을 최적화할 수 있습니다.

35.6.1. 스왑 공간 개요

Linux의 스왑 공간은 실제 메모리(RAM)가 가득 차면 사용됩니다. 시스템에 더 많은 메모리 리소스가 필요하고 RAM이 가득 차 있으면 메모리의 비활성 페이지가 스왑 공간으로 이동합니다. 스왑 공간은 RAM이 적은 시스템에 도움이 될 수 있지만 더 많은 RAM을 대체하는 것은 아닙니다.

스왑 공간은 실제 메모리보다 더 느린 액세스 시간이 있는 하드 드라이브에 있습니다. 스왑 공간은 전용 스왑 파티션(권장), 스왑 파일 또는 스왑 파티션과 스왑 파일의 조합일 수 있습니다.

지난 몇 년 간 권장 스왑 공간은 시스템의 RAM 양과 함께 선형적으로 증가했습니다. 그러나 최신 시스템에는 수백 기가바이트의 RAM이 포함된 경우가 많습니다. 따라서 권장되는 스왑 공간은 시스템 메모리가 아닌 시스템 메모리 워크로드의 기능으로 간주됩니다.

35.6.3. 스왑을 위한 LVM2 논리 볼륨 생성

스왑에 사용할 LVM2 논리 볼륨을 만들 수 있습니다. /dev/VolGroup00/LogVol02 를 추가하려는 스왑 볼륨이라고 가정합니다.

사전 요구 사항

  • 디스크 공간이 충분합니다.

프로세스

  1. 2GB 크기의 LVM2 논리 볼륨을 만듭니다.

    # lvcreate VolGroup00 -n LogVol02 -L 2G
    Copy to Clipboard Toggle word wrap
  2. 새 스왑 공간을 포맷합니다.

    # mkswap /dev/VolGroup00/LogVol02
    Copy to Clipboard Toggle word wrap
  3. /etc/fstab 파일에 다음 항목을 추가합니다.

    /dev/VolGroup00/LogVol02 none swap defaults 0 0
    Copy to Clipboard Toggle word wrap
  4. 시스템이 새 구성을 등록하도록 마운트 단위를 다시 생성합니다.

    # systemctl daemon-reload
    Copy to Clipboard Toggle word wrap
  5. 논리 볼륨에서 스왑을 활성화합니다.

    # swapon -v /dev/VolGroup00/LogVol02
    Copy to Clipboard Toggle word wrap

검증

  • 스왑 논리 볼륨이 성공적으로 생성되고 활성화되었는지 테스트하려면 다음 명령을 사용하여 활성 스왑 공간을 검사합니다.

    # cat /proc/swaps
                   total        used        free      shared  buff/cache   available
    Mem:            30Gi       1.2Gi        28Gi        12Mi       994Mi        28Gi
    Swap:           22Gi          0B        22Gi
    Copy to Clipboard Toggle word wrap
    # free -h
                   total        used        free      shared  buff/cache   available
    Mem:            30Gi       1.2Gi        28Gi        12Mi       995Mi        28Gi
    Swap:           17Gi          0B        17Gi
    Copy to Clipboard Toggle word wrap

35.6.4. 스왑 파일 만들기

스왑 파일을 만들어 시스템이 메모리에서 부족해지는 경우 솔리드 스테이트 드라이브 또는 하드 디스크에 임시 스토리지 공간을 만들 수 있습니다.

사전 요구 사항

  • 디스크 공간이 충분합니다.

프로세스

  1. 새 스왑 파일의 크기를 메가바이트 단위로 결정하고 1024를 곱하여 블록 수를 결정합니다. 예를 들어 64MB 스왑 파일의 블록 크기는 65536입니다.
  2. 빈 파일을 생성합니다.

    # dd if=/dev/zero of=/swapfile bs=1024 count=65536
    Copy to Clipboard Toggle word wrap

    65536 을 필요한 블록 크기와 동일한 값으로 바꿉니다.

  3. 명령을 사용하여 스왑 파일을 설정합니다.

    # mkswap /swapfile
    Copy to Clipboard Toggle word wrap
  4. 스왑 파일의 보안을 세계로 읽을 수 없도록 변경합니다.

    # chmod 0600 /swapfile
    Copy to Clipboard Toggle word wrap
  5. 부팅 시 스왑 파일을 활성화하려면 다음 항목으로 /etc/fstab 파일을 편집합니다.

    /swapfile none swap defaults 0 0
    Copy to Clipboard Toggle word wrap

    다음에 시스템이 부팅되면 새 스왑 파일이 활성화됩니다.

  6. 시스템이 새 /etc/fstab 구성을 등록하도록 마운트 단위를 다시 생성합니다.

    # systemctl daemon-reload
    Copy to Clipboard Toggle word wrap
  7. 즉시 스왑 파일을 활성화합니다.

    # swapon /swapfile
    Copy to Clipboard Toggle word wrap

검증

  • 새 스왑 파일이 성공적으로 생성되고 활성화되었는지 테스트하려면 다음 명령을 사용하여 활성 스왑 공간을 검사합니다.

    $ cat /proc/swaps
    Copy to Clipboard Toggle word wrap
    $ free -h
    Copy to Clipboard Toggle word wrap

35.6.5. 스토리지 RHEL 시스템 역할을 사용하여 스왑 볼륨 생성

이 섹션에서는 예제 Ansible 플레이북을 제공합니다. 이 플레이북은 기본 매개 변수를 사용하여 블록 장치에서 스왑 볼륨을 생성하거나 스왑 볼륨이 없는 경우 스왑 볼륨을 수정하는 데 스토리지 역할을 적용합니다.

사전 요구 사항

프로세스

  1. 다음 콘텐츠를 사용하여 플레이북 파일(예: ~/playbook.yml )을 생성합니다.

    ---
    - name: Create a disk device with swap
      hosts: managed-node-01.example.com
      roles:
        - rhel-system-roles.storage
      vars:
        storage_volumes:
          - name: swap_fs
            type: disk
            disks:
              - /dev/sdb
            size: 15 GiB
            fs_type: swap
    Copy to Clipboard Toggle word wrap

    볼륨 이름(예의swap_fs )은 현재 임의의 상태입니다. 스토리지 역할은 disks: 속성에 나열된 디스크 장치로 볼륨을 식별합니다.

  2. 플레이북 구문을 확인합니다.

    $ ansible-playbook --syntax-check ~/playbook.yml
    Copy to Clipboard Toggle word wrap

    이 명령은 구문만 검증하고 잘못되었지만 유효한 구성으로부터 보호하지 않습니다.

  3. Playbook을 실행합니다.

    $ ansible-playbook ~/playbook.yml
    Copy to Clipboard Toggle word wrap

35.6.6. LVM2 논리 볼륨에서 스왑 확장

기존 LVM2 논리 볼륨에서 스왑 공간을 확장할 수 있습니다. /dev/VolGroup00/LogVol012GB 까지 확장할 볼륨이라고 가정합니다.

사전 요구 사항

  • 디스크 공간이 충분합니다.

프로세스

  1. 연결된 논리 볼륨의 스왑을 비활성화합니다.

    # swapoff -v /dev/VolGroup00/LogVol01
    Copy to Clipboard Toggle word wrap
  2. LVM2 논리 볼륨의 크기를 2GB 로 조정합니다.

    # lvresize /dev/VolGroup00/LogVol01 -L +2G
    Copy to Clipboard Toggle word wrap
  3. 새 스왑 공간을 포맷합니다.

    # mkswap /dev/VolGroup00/LogVol01
    Copy to Clipboard Toggle word wrap
  4. 확장 논리 볼륨을 활성화합니다.

    # swapon -v /dev/VolGroup00/LogVol01
    Copy to Clipboard Toggle word wrap

검증

  • 스왑 논리 볼륨이 성공적으로 확장 및 활성화되었는지 테스트하려면 활성 스왑 공간을 검사합니다.

    # cat /proc/swaps
    Filename                Type        Size        Used        Priority
    /dev/dm-1          partition    16322556           0              -2
    /dev/dm-4          partition     7340028           0              -3
    Copy to Clipboard Toggle word wrap
    # free -h
                   total        used        free      shared  buff/cache   available
    Mem:            30Gi       1.2Gi        28Gi        12Mi       994Mi        28Gi
    Swap:           22Gi          0B        22Gi
    Copy to Clipboard Toggle word wrap

35.6.7. LVM2 논리 볼륨에서 스왑 감소

LVM2 논리 볼륨에서 스왑을 줄일 수 있습니다. /dev/VolGroup00/LogVol01 이 줄려는 볼륨이라고 가정합니다.

프로세스

  1. 연결된 논리 볼륨의 스왑을 비활성화합니다.

    # swapoff -v /dev/VolGroup00/LogVol01
    Copy to Clipboard Toggle word wrap
  2. 스왑 서명을 정리합니다.

    # wipefs -a /dev/VolGroup00/LogVol01
    Copy to Clipboard Toggle word wrap
  3. LVM2 논리 볼륨을 512MB로 줄입니다.

    # lvreduce /dev/VolGroup00/LogVol01 -L -512M
    Copy to Clipboard Toggle word wrap
  4. 새 스왑 공간을 포맷합니다.

    # mkswap /dev/VolGroup00/LogVol01
    Copy to Clipboard Toggle word wrap
  5. 논리 볼륨에서 스왑을 활성화합니다.

    # swapon -v /dev/VolGroup00/LogVol01
    Copy to Clipboard Toggle word wrap

검증

  • 스왑 논리 볼륨이 성공적으로 감소되었는지 테스트하려면 다음 명령을 사용하여 활성 스왑 공간을 검사합니다.

    $ cat /proc/swaps
    Copy to Clipboard Toggle word wrap
    $ free -h
    Copy to Clipboard Toggle word wrap

35.6.8. 스왑을 위한 LVM2 논리 볼륨 제거

스왑의 LVM2 논리 볼륨을 제거할 수 있습니다. /dev/VolGroup00/LogVol02 를 제거하려는 스왑 볼륨이라고 가정합니다.

프로세스

  1. 연결된 논리 볼륨의 스왑을 비활성화합니다.

    # swapoff -v /dev/VolGroup00/LogVol02
    Copy to Clipboard Toggle word wrap
  2. LVM2 논리 볼륨을 제거합니다.

    # lvremove /dev/VolGroup00/LogVol02
    Copy to Clipboard Toggle word wrap
  3. /etc/fstab 파일에서 다음 관련 항목을 제거합니다.

    /dev/VolGroup00/LogVol02 none swap defaults 0 0
    Copy to Clipboard Toggle word wrap
  4. 마운트 단위를 다시 생성하여 새 구성을 등록합니다.

    # systemctl daemon-reload
    Copy to Clipboard Toggle word wrap

검증

  • 논리 볼륨이 성공적으로 제거되었는지 테스트합니다. 다음 명령을 사용하여 활성 스왑 공간을 검사합니다.

    $ cat /proc/swaps
    Copy to Clipboard Toggle word wrap
    $ free -h
    Copy to Clipboard Toggle word wrap

35.6.9. 스왑 파일 제거

스왑 파일을 제거할 수 있습니다.

프로세스

  1. /swapfile 스왑 파일을 비활성화합니다.

    # swapoff -v /swapfile
    Copy to Clipboard Toggle word wrap
  2. 그에 따라 /etc/fstab 파일에서 해당 항목을 제거합니다.
  3. 시스템이 새 구성을 등록하도록 마운트 단위를 다시 생성합니다.

    # systemctl daemon-reload
    Copy to Clipboard Toggle word wrap
  4. 실제 파일을 제거합니다.

    # rm /swapfile
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat