一般来说我们购买的vps主机内存一般都是比较小的,所以就需要我们自己添加swap来解决也通俗的讲就是linux的虚拟内存

Swap的值都是安装系统的时候设置好的,一般设置为内存的两倍大小。使用过程中发现swap值过小只能添加。
用free -m 命令查看当前swap大小

使用下面的命令创建2G的空间:

dd if=/dev/zero of=/var/swap bs=1024 count=2048000

if 表示infile,of表示outfile,bs=1024代表增加的模块大小,count=2048000代表2048000个模块,也就是2G空间
将目的文件设置为swap分区文件:

mkswap /var/swap

激活swap,立即启用交换分区文件

mkswap -f /var/swap

free -m查看swap已经增加了,但这只是临时性的,如果机器重启会失效

vi /etc/fstab

最后一行添加

/var/swap swap swap defaults 0 0

然后按ESC键输入:wq 保存退出
重启后free -m测试 swap添加成功

下面是实际应用命令:

[root@vpsdig ~]# free -m
total used free shared buff/cache available
Mem: 3789 130 3401 8 258 3432
Swap: 0 0 0
[root@vpsdig ~]# dd if=/dev/zero of=/var/swap bs=1024 count=2048000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 19.4374 s, 108 MB/s
[root@vpsdig ~]# mkswap /var/swap
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=a23c9dd9-87af-4517-8d70-bff7c714c18f
[root@vpsdig ~]# swapon /var/swap
swapon: /var/swap: insecure permissions 0644, 0600 suggested.
[root@vpsdig ~]# cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 2047996 0 -2
[root@vpsdig ~]# vim /etc/fstab
-bash: vim: command not found

让上面命令在重启后仍然生效需要以下操作:

[root@vpsdig ~]# vi /etc/fstab

最后一行添加

/var/swap swap swap defaults 0 0

然后按ESC键输入:wq 保存退出

再查看内存,已经设置了swap了,执行上面命令导致buff/cache里面多了不少内存,过段时间会减少,或者直接重启可以清掉

[root@vpsdig ~]# free -m
total used free shared buff/cache available
Mem: 3789 154 1286 8 2348 3379
Swap: 1999 0 1999

reboot重启后再查看结果如下:

[root@vpsdig ~]# free -m
total used free shared buff/cache available
Mem: 3789 146 3411 8 232 3414
Swap: 1999 0 1999

如果不再需要swap,可以清理该分区:

[root@vpsdig var]# swapoff /var/swap