'리눅스 swap 설명'에 해당되는 글 1건

리눅스에서는 프로세스를 실행할 메모리 공간이 부족한 경우, 기존 프로세스 중 일부를 swap 공간(디스크 파티션 or 파일)으로 이동시켜 메모리 공간을 확보한다.

swap 공간으로 이동시키는 프로세스를 선택하는 기준은 아래와 같다.

  • 가장 오랫동안 사용되지 않은 프로세스(LRU)
  • priority 점수가 가장 높은(=우선순위가 낮음) 프로세스(0~39)

swap 공간으로 이동한 프로세스는 다시 호출될 때 메모리에 여유공간이 있다면 메모리로 다시 불러와진다.

 

1. swap 사용량 확인

  • free
  • top
  • swapon -s

e.g)

# free
              total        used        free      shared  buff/cache   available
Mem:        4017408      528376     2969828       13620      519204     3332876
Swap:       1048572           0     1048572

# top
top - 13:05:38 up 11:19,  0 users,  load average: 1.93, 1.98, 2.05
Tasks:   4 total,   1 running,   3 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3923.2 total,   2896.2 free,    520.0 used,    507.1 buff/cache
MiB Swap:   1024.0 total,   1024.0 free,      0.0 used.   3250.7 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    1 root      20   0    3620   2432   2304 S   0.0   0.1   0:00.09 bash
    8 root      20   0    3884   2944   2560 S   0.0   0.1   0:00.21 bash
   92 root      20   0    1948   1024   1024 S   0.0   0.0   0:00.00 sleep
  102 root      20   0    5732   2560   2176 R   0.0   0.1   0:00.00 top
  
# swapon -s
Filename				Type		Size	Used	Priority
/var/lib/swap                          	file    	1048572	0	-2

 

2. swap 비활성화

swapoff {스왑파일경로}

  • 스왑파일경로: swapon -s 로 조회된 Filename 경로

 

3. swap 활성화

swapon {스왑파일경로}

  • 스왑파일경로: swapon -s 로 조회된 Filename 경로

 

4. 부팅시 자동 활성화

/etc/fstab 에 아래 내용 추가

{스왑장치명} none swap sw 0 0
블로그 이미지

망원동똑똑이

프로그래밍 지식을 자유롭게 모아두는 곳입니다.

,