linux上添加增加swap交换分区
swap分区到底设置成多大才最优?
首先看下Redhat官方的文档中关于swap分区大小设置的建议
因此,一般来说可以按照如下规则设置swap大小:
- 4G以内的物理内存,SWAP 设置为内存的2倍,不超过4G。
- 4-8G的物理内存,SWAP 等于内存大小。
- 8-64G 的物理内存,SWAP 设置为8G。
- 64-256G物理内存,SWAP 设置为16G。
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。
设置SWAP分区
首先查看设备上是否有SWAP分区,如果已有SWAP分区但大小不合适,可以关闭并重新设置。我建议2G、4G云服务器设置4G大小的SWAP分区。命令如下:
#显示内存和缓存
free -h
#关闭SWAP
swapoff -a
显示
total used free shared buff/cache available
Mem: 977Mi 753Mi 65Mi 75Mi 374Mi 223Mi
Swap: 0B 0B 0B
然后用如下命令设置SWAP分区(本案例SWAP分区大小为2G):
#创建swap分区
dd if=/dev/zero of=/var/swapfile bs=1M count=2048
#格式化并启用swap分区
mkswap /var/swapfile
swapon /var/swapfile
创建完毕后再用 free 命令查看是否创建成功:
free -h
设置swap分区自动启动
添加到指令到fstab文件中这样系统引导时会自动启动(手动编辑效果一样,选其一)
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
或者手动编辑/etc/fstab
nano /etc/fstab
#添加如下内容
/var/swapfile swap swap defaults 0 0