文章目录
前言
最近发现服务器内存一直居高不下,想到之前看到的一篇文章说创建SWAP代替,这个方法有两种观点,一种是不支持的,觉得是拆东墙补西墙治标不治本,另一种是支持态度,觉得实际可以缓解内存吃紧的现象。
步骤
1. 确定当前没有开启 Swap
在终端使用命令 free -m
查看输出结果:
total used free shared buffers cached
Mem: 1840 1614 226 15 36 1340
-/+ buffers/cache: 238 1602
Swap: 0 0 0
可以看到最后一行是0 0 0
,则表示当前没有开启。
2. 创建 Swap 文件
使用下面命令创建交换文件。因为要分配硬盘空间,所以有可能比较慢,等待一会
dd if=/dev/zero of=/swapfile count=2048 bs=1M
count=2048
表示创建 2G 的虚拟内存,因为这里用到的单位是 M,如果要创建 6G 虚拟内存,则把2048 改成 6144 即可,因为 1024 * 6 = 6144。
可以使用 ls / | grep swapfile
命令查看一下,确保交换文件存在,创建成功。
3. 激活 Swap 文件
依次执行下面的命令
chmod 600 /swapfile
mkswap /swapfile
依次运行上面两个命令后,如果成功,将会看到类似下面的输出
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=ff3fc469-9c4b-4913-b653-ec53d6460d0e
4. 开启 Swap
swapon /swapfile
到这里,Swap 已经开启成功。我们再次使用 free -m
命令查看一下,你将看到类似下面的输出。
total used free shared buffers cached
Mem: 1840 1754 86 16 23 1519
-/+ buffers/cache: 210 1630
Swap: 2047 0 2047
最后一行 Swap 将不再是0 0 0
,而是我们上面设置的大小
5. 设置系统启动时自动开启 Swap
使用编辑器编辑 /etc/fstab
文件,添加 Swap 自动开启的配置,这里使用 Vim 进行编辑,也可以使用其他文本编辑工具,例如 nano
vim /etc/fstab
在 fstab
文件最后一行添加下面的内容
/swapfile none swap sw 0 0
然后保存,退出。
好了,现在 Swap 已经配置完,并且可以在系统启动时自动开启。
最后
其实创建swap不能说有用,它的原理好像需要在物理内存用完之后才会起作用。但是由于我硬盘空间用不完,所以创建这个试试看,毕竟自己试过才知道到底好不好。