如何在Linux云服务器上设置swap?

  • 发布时间:2020-03-02 10:39:48
  • 阅读次数:357

有时我们的服务器会出现内存不足的情况,通常是由于某些应用程序突然消耗大量内存所致。处理这种情况最直接的方法是增加服务器的内存,不过这需要花费额外的成本。还有一种方法是使用虚拟内存,也就是swap,这是一种使用部分硬盘空间来存储临时数据的技术。下面这篇文章就是介绍如何设置swap的方法,适用于CentOS、Ubuntu、Debian等Linux操作系统。

第一步:确认swap的状态

使用下面的命令查看内存情况:

free -m

如果结果显示swap为0,说明swap不存在,需要创建swap。

total              used       free     shared    buffers     cached
Mem:               1840       1614     226       15          36       1340
-/+ buffers/cache:            238      1602
Swap:              0          0        0

或者也可以用这个命令来查看。如果没有输出任何结果,说明swap不存在。

swapon -s

第二步:创建swap

我们用下面的命令来创建一个大小为2GB的swap文件。

dd if=/dev/zero of=/swapfile count=2048 bs=1M

输出结果如下:

2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 10.5356 s, 204 MB/s

第三步:激活swap

swap默认并不会自动识别,我们需要设置合适的权限后才能正常使用。执行以下命令,设置swap文件的权限为600,即对root用户可读可写。

chmod 600 /swapfile

激活swap:

mkswap /swapfile

输出结果如下:

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

第四步:启用swap

执行下面的命令,启用swap

swapon /swapfile

默认情况下,swap文件不会随系统自动启动,因此需要写入文件系统。

vi /etc/fstab

在末尾添加如下代码:

/swapfile   none    swap    sw    0   0

用:wq命令保存后,swap就随系统启动了。

最后,我们可以用free命令确认swap是否设置成功。

free -m

输出结果如下。可以看到,swap已经不为0了,说明swap已设置成功。

total       used       free     shared    buffers     cached
Mem:          1840       1754         86         16         23       1519
-/+ buffers/cache:        210       1630
Swap:         2047          0       2047

以上就是在Linux云服务器上设置swap的方法。

【全文完】

< 上一篇:使用rsync在两台云服务器之间设置文件镜像的方法 下一篇:如何在FreeBSD云服务器上设置swap? >