Linux设置开启swap文件
前言
最近有一次偶然的在尝试了一个新的云服务器提供商雨云(主要是价格很亲民诱人)。
一顿操作,在一次使用过程中习惯性看了下htop
,结果发现这货居然没有默认的swap文件或者分区。
由于是为了测试贫穷买了1C1G的绝版货,很有可能跑几个服务就把内存给占满了。
那么问题来了,这可怎么办呢?此时我导如果在的话,一定一顿好打,服务器root权限在你手里,自己加呗。
开始动手
先看下free -m
,的确是没有交换分区的
~# free -m
total used free shared buff/cache available
Mem: 957 513 81 1 361 296
Swap: 0 0 0
操作步骤
交换分区需要动分区表,比较麻烦。新版的linux都可以支持一个交换文件作为虚拟内存进行使用,这是小虎最近几年最喜欢的配置方式,所以这篇文章会介绍的就是这种方式。
操作方法
用
dd
命令写一个1GB的全0文件dd if=/dev/zero of=/var/swap bs=1M count=1024
用
mkswap
命令设置文件为swap,并修改权限mkswap -f /var/swap chmod 0600 /var/swap
用
swapon
标记挂载目标文件为交换文件swapon /var/swap
此时再用
free -m
就可以看到已经有swap空间了修改
fstab
自动挂载交换文件
完成前面的1-3步,swap空间是开启了,但是重启以后还是配置会掉,因此我们需要配置fstab使得开机后自动挂载交换分区文件。
使用vi
或者任何你喜欢的编辑器编辑fstab配置文件,增加一行配置/var/swap swap swap defaults 0 0
到这里重启以后也会默认挂载交换空间。
进阶的swappiness
其实还有一个系统参数swappiness的值来设置内核的内存使用策略,这个值越大证明系统使用虚拟内存的策略就越激进(也就是越多)。默认CentOS/Redhat
是0,Ubuntu
是60。因此红帽系的小伙伴可能需要手动修改下swappiness的值。vi /etc/sysctl.conf vm.swappiness = 60
参考连接
感谢扫码支持