Linux Swap Memory 관리하기
Swap Space 만들기
Swap file
sudo dd if=/dev/zero of=<swapfile> bs=<blockSize> count=<blockCount>
sudo chmod 600 <swapfile>
sudo mkswap <swapfile>
ZRAM
sudo modprobe zram [num_devices=<num>]
sudo zramctl <option> [<device>]
<option>
-f | --find
: free device를 찾습니다.-s | --size <size>
: device size를 설정합니다.(압축 되기 전 크기)-a | --algorithm <alg>
: compression algorithm을 설정합니다.
zramctl
sudo mkswap <device>
정보
udev를 사용하여 zram을 설정할 수 있습니다.
/etc/modules-load.d/zram.conf
zram
/etc/udev/rules.d/99-zram.rules
KERNEL=="zram0", ACTION=="add", ATTR{comp_algorithm}="lzo-rle", ATTR{disksize}="2G", RUN="/sbin/mkswap /dev/%k"
/etc/systemd/system/zram.service
[Unit]
Description=Swap with zram
After=multi-user.target
[Service]
RemainAfterExit=true
ExecStartPre=/sbin/mkswap /dev/zram0
ExecStart=/sbin/swapon -p 10 /dev/zram0
ExecStop=/sbin/swapoff /dev/zram0
[Install]
WantedBy=multi-user.target
sudo systemctl enable zram
Swap ON/OFF
sudo swapon <option> <spec>
<option>
-p | --priority <priority>
- 0 ~ 32767 값을 설정 할 수 있습니다.
- 큰 값일 수록 우선순위가 높습니다.
-s | --summary
: swap 상태를 출력합니다.
sudo swapoff <spec>
/etc/fstab
<spec> none swap defaults[,<option>] 0 0
<option>
pri=<priority>
: swap 우선순위