前言

最近发现服务器内存一直居高不下,想到之前看到的一篇文章说创建SWAP代替,这个方法有两种观点,一种是不支持的,觉得是拆东墙补西墙治标不治本,另一种是支持态度,觉得实际可以缓解内存吃紧的现象。

步骤

1. 确定当前没有开启 Swap

在终端使用命令 free -m 查看输出结果:

 

 

1
2
3
4
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 文件

使用下面命令创建交换文件。因为要分配硬盘空间,所以有可能比较慢,等待一会

 

 

1
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 文件

依次执行下面的命令

 

 

1
2
chmod 600 /swapfile
mkswap /swapfile

依次运行上面两个命令后,如果成功,将会看到类似下面的输出

 

 

1
2
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=ff3fc469-9c4b-4913-b653-ec53d6460d0e

4. 开启 Swap

 

 

1
swapon /swapfile

到这里,Swap 已经开启成功。我们再次使用 free -m 命令查看一下,你将看到类似下面的输出。

 

 

1
2
3
4
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

 

 

1
vim /etc/fstab

在 fstab 文件最后一行添加下面的内容

 

 

1
/swapfile none swap sw 0 0

然后保存,退出。

好了,现在 Swap 已经配置完,并且可以在系统启动时自动开启。

最后

其实创建swap不能说有用,它的原理好像需要在物理内存用完之后才会起作用。但是由于我硬盘空间用不完,所以创建这个试试看,毕竟自己试过才知道到底好不好。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。