IT๊ธฐ์ดˆ

์„œ๋ฒ„์—์„œ swap ๋ฉ”๋ชจ๋ฆฌ๋ž€ ๋ฌด์—‡์ธ์ง€, ์–ธ์ œ ์„ค์ •ํ•ด์•ผ ํ•˜๋‚˜

๐Ÿฅ„ํ…Œํฌ ํ•œ ์Šคํ‘ผ 2026. 5. 27. 13:45

๋ชฉ์ฐจ

  1. ์„œ๋ฒ„๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋А๋ ค์กŒ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์˜์‹ฌํ•˜๋ผ
  2. swap ๋ฉ”๋ชจ๋ฆฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?
  3. swap์˜ ์žฅ์ ๊ณผ ๋‹จ์ 
  4. swap์ด ํ•„์š”ํ•œ ์ƒํ™ฉ
  5. swap ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• (Ubuntu ๊ธฐ์ค€)
  6. swap ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ ๋ฐ ์กฐ์ •
  7. ์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„

1. ์„œ๋ฒ„๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋А๋ ค์กŒ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์˜์‹ฌํ•˜๋ผ

์›” ๋ช‡ ์ฒœ ์›์งœ๋ฆฌ ์ €์‚ฌ์–‘ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„(1GB RAM)๋ฅผ ์šด์˜ํ•˜๋‹ค ๋ณด๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ์ƒํ™ฉ์ด ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Nginx, Node.js, MySQL์„ ๋™์‹œ์— ๋„์šฐ๋ฉด ์–ด๋А ์ˆœ๊ฐ„ ์„œ๋ฒ„๊ฐ€ ๊ทน๋„๋กœ ๋А๋ ค์ง€๊ฑฐ๋‚˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ•์ œ ์ข…๋ฃŒ๋˜๋Š” ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ด๋Ÿด ๋•Œ ์„œ๋ฒ„ ์šฉ๋Ÿ‰์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๊ธฐ ์ „์— ๋จผ์ € ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ swap ๋ฉ”๋ชจ๋ฆฌ ์„ค์ •์ž…๋‹ˆ๋‹ค.

2. swap ๋ฉ”๋ชจ๋ฆฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

swap์€ ๋ฌผ๋ฆฌ์ ์ธ RAM์ด ๋ถ€์กฑํ•  ๋•Œ ํ•˜๋“œ๋””์Šคํฌ(๋˜๋Š” SSD)์˜ ์ผ๋ถ€ ๊ณต๊ฐ„์„ ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

์‰ฌ์šด ๋น„์œ ๋กœ ์„ค๋ช…ํ•˜๋ฉด ์ด๋ ‡์Šต๋‹ˆ๋‹ค. ์ฑ…์ƒ(RAM)์ด ๊ฐ€๋“ ์ฐผ์„ ๋•Œ ์ž์ฃผ ์“ฐ์ง€ ์•Š๋Š” ๋ฌผ๊ฑด์„ ๋ฐ”๋‹ฅ(๋””์Šคํฌ)์— ๋‚ด๋ ค๋†“๊ณ  ๊ณต๊ฐ„์„ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ”๋‹ฅ์—์„œ ๋ฌผ๊ฑด์„ ๊บผ๋‚ด๋Š” ๊ฒƒ์ด ์ฑ…์ƒ์—์„œ ๊บผ๋‚ด๋Š” ๊ฒƒ๋ณด๋‹ค ๋А๋ฆฌ๋“ฏ, swap์€ RAM๋ณด๋‹ค ์†๋„๊ฐ€ ํ›จ์”ฌ ๋А๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  swap์ด ์žˆ์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์™„์ „ํžˆ ๊ณ ๊ฐˆ๋์„ ๋•Œ ์„œ๋ฒ„๊ฐ€ ์ฆ‰์‹œ ๋‹ค์šด๋˜๋Š” ๋Œ€์‹ , ๋А๋ฆฌ๋”๋ผ๋„ ๊ณ„์† ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. swap์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์ 

๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ์ธํ•œ ์„œ๋ฒ„ ๋‹ค์šด์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ €์‚ฌ์–‘ ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๋ฅผ ๋™์‹œ์— ์šด์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์šฉ ์—†์ด ์„ค์ • ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ธ‰ํ•œ ์ƒํ™ฉ์—์„œ ์ฆ‰๊ฐ์ ์ธ ์™„์ถฉ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ 

๋””์Šคํฌ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— RAM๋ณด๋‹ค ์ˆ˜์‹ญ ๋ฐฐ์—์„œ ์ˆ˜๋ฐฑ ๋ฐฐ ๋А๋ฆฝ๋‹ˆ๋‹ค. swap์„ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„ ์ „์ฒด๊ฐ€ ์‹ฌ๊ฐํ•˜๊ฒŒ ๋А๋ ค์ง‘๋‹ˆ๋‹ค. SSD๋ฅผ swap์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด SSD ์ˆ˜๋ช…์ด ๋‹จ์ถ•๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

swap์€ ๊ทผ๋ณธ์ ์ธ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹™๋‹ˆ๋‹ค. ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” RAM์„ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์„œ๋ฒ„๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ๋งž์ง€๋งŒ, ๋‹จ๊ธฐ ์™„์ถฉ์ด๋‚˜ ๊ฐ€๋” ๋ฐœ์ƒํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ธ‰์ฆ ์ƒํ™ฉ ๋Œ€์‘์—๋Š” ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

4. swap์ด ํ•„์š”ํ•œ ์ƒํ™ฉ

์•„๋ž˜ ์ƒํ™ฉ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ํ•ด๋‹น๋œ๋‹ค๋ฉด swap ์„ค์ •์„ ๊ณ ๋ คํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

RAM์ด 1GB ์ดํ•˜์ธ ์ €์‚ฌ์–‘ ์„œ๋ฒ„๋ฅผ ์šด์˜ ์ค‘์ผ ๋•Œ, free -h ๋ช…๋ น์–ด ์‹คํ–‰ ์‹œ available ๊ฐ’์ด ์ž์ฃผ 100MB ์ดํ•˜๋กœ ๋–จ์–ด์งˆ ๋•Œ, OOM Killer๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋กœ๊ทธ๊ฐ€ ์ž์ฃผ ๋ฐœ๊ฒฌ๋  ๋•Œ, ์„œ๋ฒ„ ๋น„์šฉ์„ ๋Š˜๋ฆฌ๊ธฐ ์ „์— ์ž„์‹œ๋กœ ๋ฒ„ํ…จ์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ผ ๋•Œ swap์ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ RAM์ด ๋„‰๋„‰ํ•˜๊ณ  ์„œ๋ฒ„ ์„ฑ๋Šฅ์ด ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด swap์„ ๊ตณ์ด ์„ค์ •ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

5. swap ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• (Ubuntu ๊ธฐ์ค€)

1๋‹จ๊ณ„. ํ˜„์žฌ swap ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

sudo swapon --show

์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅ๋˜์ง€ ์•Š์œผ๋ฉด swap์ด ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

2๋‹จ๊ณ„. swap ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

2GB ํฌ๊ธฐ์˜ swap ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„ RAM์˜ 1~2๋ฐฐ ํฌ๊ธฐ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

sudo fallocate -l 2G /swapfile

3๋‹จ๊ณ„. swap ํŒŒ์ผ ๊ถŒํ•œ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

root๋งŒ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋„๋ก ๊ถŒํ•œ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

sudo chmod 600 /swapfile

4๋‹จ๊ณ„. swap ํŒŒ์ผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

sudo mkswap /swapfile

5๋‹จ๊ณ„. swap์„ ์ฆ‰์‹œ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

sudo swapon /swapfile

6๋‹จ๊ณ„. ์„œ๋ฒ„ ์žฌ๋ถ€ํŒ… ํ›„์—๋„ swap์ด ์œ ์ง€๋˜๋„๋ก ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

sudo nano /etc/fstab ํŒŒ์ผ์„ ์—ด์–ด ๋งจ ์•„๋ž˜์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

/swapfile none swap sw 0 0

์ €์žฅ ํ›„ free -h ๋ช…๋ น์–ด๋กœ swap์ด ์ •์ƒ ์„ค์ •๋๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. Swap ํ•ญ๋ชฉ์— 2.0G๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค.

6. swap ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ ๋ฐ ์กฐ์ •

swap ์‚ฌ์šฉ ํ˜„ํ™ฉ์€ free -h ๋˜๋Š” swapon --show ๋ช…๋ น์–ด๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

swappiness ์„ค์ •

swappiness๋Š” ๋ฆฌ๋ˆ…์Šค๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ ๊ทน์ ์œผ๋กœ swap์„ ์‚ฌ์šฉํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค. 0์—์„œ 100 ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ๊ธฐ๋ณธ๊ฐ’์€ 60์ž…๋‹ˆ๋‹ค.

๊ฐ’์ด ๋†’์„์ˆ˜๋ก swap์„ ๋” ์ž์ฃผ ์‚ฌ์šฉํ•˜๊ณ , ๋‚ฎ์„์ˆ˜๋ก RAM์„ ์ตœ๋Œ€ํ•œ ์‚ฌ์šฉํ•œ ํ›„์—๋งŒ swap์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ํ™˜๊ฒฝ์—์„œ๋Š” 10~30 ์‚ฌ์ด์˜ ๋‚ฎ์€ ๊ฐ’์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ swappiness ๊ฐ’์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

cat /proc/sys/vm/swappiness

swappiness๋ฅผ 10์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

sudo sysctl vm.swappiness=10

์žฌ๋ถ€ํŒ… ํ›„์—๋„ ์œ ์ง€๋˜๊ฒŒ ํ•˜๋ ค๋ฉด /etc/sysctl.conf ํŒŒ์ผ์— vm.swappiness=10 ์ค„์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

7. ์ •๋ฆฌ ๋ฐ ๋‹ค์Œ ๋‹จ๊ณ„

์˜ค๋Š˜ ๋ฐฐ์šด ํ•ต์‹ฌ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • swap์€ RAM์ด ๋ถ€์กฑํ•  ๋•Œ ๋””์Šคํฌ๋ฅผ ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.
  • RAM๋ณด๋‹ค ํ›จ์”ฌ ๋А๋ฆฌ์ง€๋งŒ, ์„œ๋ฒ„ ๋‹ค์šด์„ ๋ง‰์•„์ฃผ๋Š” ์™„์ถฉ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • 1GB RAM ์ดํ•˜์˜ ์ €์‚ฌ์–‘ ์„œ๋ฒ„๋ผ๋ฉด 1~2GB swap ์„ค์ •์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • swappiness ๊ฐ’์„ ๋‚ฎ๊ฒŒ ์„ค์ •ํ•˜๋ฉด RAM์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๊ณ  swap์€ ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • swap์€ ์ž„์‹œ๋ฐฉํŽธ์ด๋ฉฐ, ๊ทผ๋ณธ ํ•ด๊ฒฐ์ฑ…์€ RAM ์ฆ์„ค์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ธ€์—์„œ๋Š” Nginx ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„ค์ • ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.