ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SWAP 관리
    linux/centOS 2018. 6. 27. 11:32

    ☆ swap 이란?

     

    디스크내에 존재하는 가상적인 메모리 공간, 물리적인 메모리(RAM) 연장 공간처럼 쓰이는 공간

     

    스왑(SWAP)은 메모리 내의 데이터 페이지 또는 세그먼트를 교체하는 것이다. 스왑핑은 컴퓨터가 주기억장치보다 더

    큰 프로그램이나 데이터 파일을 다룰 수 있게 하는 유용한 테크닉이다. 운영체계는 주기억장치 내에 가능한 한 많

    은 데이터를 복사해 넣고, 나머지는 디스크 상에 남겨둔다. 운영체계가 디스크에 있는 데이터를 필요로할 때, 주기

    억장치 내의 데이터 일부를 디스크 상의 데이터와 교체한다. DOS는 스왑핑을 수행하지 않지만, OS/2, 윈도우, 유닉

    스 등을 포함한 많은 운영체계들이 스왑핑을 수행한다. 스왑핑은 때로, 페이징이라고 불리기도 한다.

     

     

    스왑 관련 이슈(SWAP Issue)?

    - 언제 스왑을 추가하는가? 메모리사용량이 80퍼센트 이상 차기 시작할 때

    - 스왑 공간의 크기?

    (초기 설치시)

    (운영시) 두 번 하기 힘들기 때문에 넉넉히 주는게 좋다. 추후에 줄일 수 있기 때문이다.

    - 스왑을 추가하면 성능이 좋아지는가? 성능이 좋아지는 것은 아니다. 메모리가 100퍼센트 차고 swap공간까지

    100퍼센트 차게되면 서버가 멈추게 된다. 스왑공간이 있어야 늦게라도 실행이 되어 운영체제가 멈추지 않게

    하기 위해서다.

     

     

    스왑 공간 크기에 대한 권장사항

    --------------------------------------------

    RAM SIZE SWAP SIZE

    --------------------------------------------

    4GB 이하이면 minimum 2GB

    4GB ~ 16GB minimum 4GB

    16GB ~ 64GB minimum 8GB

    64GB ~ 256GB minimum 16GB

    256G ~ 512GB minimum 32GB

    --------------------------------------------

     

     

     

    ☆ swap 관리

     

     

    SWAP 추가 방법

    - SWAP File(EX: /swap/swapfile)

    () 큰 파일 생성

    # dd if=/dev/zero of=/swap/swapfile bs=1M count=10240

    () 스왑 파일시스템 생성(swapfs)

    # mkswap /swap/swapfile

    () 스왑 Activate(swap on)

    # swapon /swap/swapfile

    () /etc/fstab 파일 설정

    # vi /etc/fstab

    - SWAP Partition(EX: /dev/sdb1)

    () 파티션 준비

    # fdisk /dev/sdb (System Partition ID : 82)

    () 스왑 파일시스템 생성(swapfs)

    # mkswap /dev/sdb1

    () 스왑 ON(swap on)

    # swapon /dev/sdb1

    () /etc/fstab 파일 설정

    # vi /etc/fstab

     

     

    (1) 스왑 확인 방법

     

    현재 스왑 공간(스왑 공간, 스왑 전체크기, 스왑사용량)을 확인하는 방법은

    () free 명령어를 사용하는 방법이나

    () top 명령어를 통해 확인하는 방법

    () /proc/swaps 파일을 확인하는 방법

    () /proc/meminfo 파일을 확인하는 방법

    등이 있다.

     

    스왑을 추가하고 확인하거나 스왑을 삭제하고 확인할 때는 /proc/swaps 또는 free 명령어를 사용하는 방법이 적

    당하다. 스왑 사용량을 모니터링 할 때는 top 명령어를 사용하는 것이 좋다.

     

     

    [EX] 스왑 공간/스왑 용량/스왑 사용량 확인

    # cat /proc/swaps (# swapon -s)

    Filename Type Size Used Priority

    /dev/sda2 partition 1052248 0 -1

     

    # free

    total used free shared buffers cached

    Mem: 1023864 809732 214132 0 69000 452540

    -/+ buffers/cache: 288192 735672

    Swap: 1052248 0 1052248

     

    # top -n 1 | head -20

    top - 13:42:00 up 3:40, 2 users, load average: 0.00, 0.00, 0.00

    Tasks: 177 total, 1 running, 175 sleeping, 0 stopped, 1 zombie

    Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.1%id, 0.5%wa, 0.0%hi, 0.0%si, 0.0%st

    Mem: 1023864k total, 811448k used, 212416k free, 69128k buffers

    Swap: 1052248k total, 0k used, 1052248k free, 453584k cached

     

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

    1 root 15 0 10368 700 588 S 0.0 0.1 0:00.95 init

    2 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/0

    3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0

    4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/1

    5 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1

    6 root RT -5 0 0 0 S 0.0 0.0 0:00.01 migration/2

    7 root 34 19 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/2

    8 root RT -5 0 0 0 S 0.0 0.0 0:00.00 migration/3

    9 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/3

    10 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/0

    11 root 10 -5 0 0 0 S 0.0 0.0 0:00.15 events/1

    12 root 10 -5 0 0 0 S 0.0 0.0 0:05.99 events/2

    13 root 10 -5 0 0 0 S 0.0 0.0 0:00.00 events/3

     

     

     

    # cat /proc/meminfo

    MemTotal: 1023864 kB

    MemFree: 212184 kB

    Buffers: 69160 kB

    Cached: 453584 kB

    SwapCached: 0 kB

    Active: 306904 kB

    Inactive: 383868 kB

    HighTotal: 0 kB

    HighFree: 0 kB

    LowTotal: 1023864 kB

    LowFree: 212184 kB

    SwapTotal: 1052248 kB <----- 전체 스왑량

    SwapFree: 1052248 kB <----- 남은 스왑량

    Dirty: 44 kB

    Writeback: 0 kB

    AnonPages: 168020 kB

    Mapped: 56132 kB

    Slab: 75588 kB

    PageTables: 22208 kB

    NFS_Unstable: 0 kB

    Bounce: 0 kB

    CommitLimit: 1564180 kB

    Committed_AS: 497300 kB

    VmallocTotal: 34359738367 kB

    VmallocUsed: 263560 kB

    VmallocChunk: 34359474419 kB

    HugePages_Total: 0

    HugePages_Free: 0

    HugePages_Rsvd: 0

    Hugepagesize: 2048 kB

     

     

     

    ☆ swap 추가 방법

     

    스왑은 파일 형태와 파티션 형태로 추가가 가능하며, 스왑을 현재 추가 할때는 mkswap, swapon 명령어를 사용하고

    부팅시에 스왑을 마운트 할 수 있도록 하기 위해서는 /etc/fstab 파일을 사용한다. 스왑 관리에 관련된 명령어는

    dd, mkswap, swapon, swapoff, rm 명령어등이 있다.

     

    SWAP 추가 방법

    - SWAP File(EX: /swap/swapfile)

    # dd if=/dev/zero of=/swap/swapfile bs=1M count=10240

    # mkswap /swap/swapfile

    # swapon /swap/swapfile

    # vi /etc/fstab

     

    - SWAP Partition(EX: /dev/sdb1)

    # fdisk /dev/sdb (System ID : 82)

    # mkswap /dev/sdb1

    # swapon /dev/sdb1

    # vi /etc/fstab

     

     

     

     

     

    ☆ SWAP 삭제 방법

     

    SWAP 추가 방법

    - SWAP File(EX: /swap/swapfile)

    # dd if=/dev/zero of=/swap/swapfile bs=1M count=10240

    # mkswap /swap/swapfile

    # swapon /swap/swapfile

    # vi /etc/fstab

     

    # swapoff /swap/swapfile

    # vi /etc/fstab

    - SWAP Partition(EX: /dev/sdb1)

    # fdisk /dev/sdb (System ID : 82)

    # mkswap /dev/sdb1

    # swapon /dev/sdb1

    # vi /etc/fstab

     

    # swapoff /dev/sdb1

    # vi /etc/fstab

     

    [EX] 스왑(SWAP) 파일 삭제

    스왑 비활성화 및 확인(SWAP OFF)

    # cat /proc/swaps

    Filename Type Size Used Priority

    /dev/sda2 partition 1052248 0 -1

    /swap/swapfile file 102392 0 -2

     

    # swapoff /swap/swapfile

    # cat /proc/swaps (# swapon -s)

    Filename Type Size Used Priority

    /dev/sda2 partition 1052248 0 -1

     

    # free (# free -m : MegaBytes)

    total used free shared buffers cached

    Mem: 1023864 919108 104756 0 70000 556356

    -/+ buffers/cache: 292752 731112

    Swap: 1052248 0 1052248

     

    스왑 파일 삭제

    # ls -lh /swap

    -rw-r--r-- 1 root root 100M 86 13:52 swapfile

     

    # rm /swap/swapfile

    #

    -> /swap/swapfileSWAP ON 되었을때 자동으로 삭제되는 파일이 아니다. 따라서 별도로 삭제 해 줘야 한다.

    -> 스왑으로 사용되고 있던 파일이 SWAP OFF 되면 스왑파일(: /swap/swapfile)로 사용되던 파일은 불 필요한 파

    일이 된다.

     

     

    'linux > centOS' 카테고리의 다른 글

    소프트웨어 관리 2  (0) 2018.07.02
    소프트웨어 관리 1  (0) 2018.06.29
    RAID 관리  (0) 2018.06.26
    LVM 생성 및 관리  (0) 2018.06.22
    마운트 관리  (0) 2018.06.21

    댓글

Designed by Tistory.