Linux - Use swap partition

  • 创建交换文件
$ sudo fallocate -l 32G /swap.img

或者

$ sudo dd if=/dev/zero of=/swap.img bs=1024 count=32M
  • 启用交换文件
$ chmod 600 /swap.img
$ sudo mkswap /swap.img
$ sudo swapon /swap.img
/$ swapon -s
Filename      Type   Size      Used    Priority
/swap.img     file   33554428  0       -2
  • 创建交换分区
$ sudo fdisk /dev/sdb
1) create a new swap partition...
2) change the partition type to Linux swap
3) save and exit

Command (m for help): p
Device          Start        End    Sectors   Size Type
/dev/sdb1        2048 1073743871 1073741824   512G Linux filesystem
/dev/sdb2  1073743872 1953525134  879781263 419.5G Linux swap

$ sudo mkswap /dev/sdb2
$ sudo swapon /dev/sdb2
  • 添加到fstab
/swap.img   none    swap    sw  0   0
/dev/sdb2   none    swap    sw  0   0
  • 启用swap
$ sudo swapoff -a
$ sudo swapon -a
$ swapon -s
Filename   Type       Size       Used    Priority
/swap.img  file       33554428   0       -2
/dev/sdb2  partition  439890624  0       -3
  • 优先级

对于存在不同介质的交换区,性能也不一样,这个时候可以指定优先级优先使用某个交换区,值越大,优先级越高。优先级可以在fstab中设定:

/swap.img   none    swap    sw,pri=9    0   0
/dev/sdb2   none    swap    sw,pri=0    0   0

也可以通过命令行指定:

$ sudo swapoff /swap.img
$ sudo swapon /swap.img -p 100
$ swapon -s
Filename   Type       Size       Used    Priority
/swap.img  file       33554428   0       100
/dev/sdb2  partition  439890624  0       0