在云服务器的使用过程中,有时我们需要提升系统性能,避免出现内存不足的情况。内存不足通常是由于某个应用程序需要消耗大量内存所致。swap也被称为虚拟内存,是一种使用硬盘容量作为内存的技术。这篇帮助讲解了如何在Linux操作系统中设置swap文件的方法,适用于CentOS、Fedora、Ubuntu、Debian等操作系统,其他Linux操作系统也应该适用。
1、确认swap文件是否存在
我们需要先确认swap文件当前的活跃状态,通过以下命令确认。
# free -m
total used free shared buffers cached
Mem: 1840 1614 226 15 36 1340
-/+ buffers/cache: 238 1602
Swap: 0 0 0
如果swap一行的数值都为0,就可以继续下一步。也可以执行以下命令,如果没有任何输出,也说明swap文件不存在,可以继续下一步。
swapon -s
2、创建swap文件
通常swap文件的存储路径位于操作系统的根目录下。比如我们创建一个2G的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文件的名称,说明创建成功了。
ls / | grep swapfile
3、激活swap文件
swap文件创建后不会自动激活,我们需要告诉操作系统,才能启用并激活swap文件。
chmod 600 /swapfile
mkswap /swapfile
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,说明swap文件已成功激活成功。
4、系统启动时加载swap
默认情况下,操作系统启动时不会加载swap文件。要在系统启动时加载swap,需要修改/etc/fstab文件。
nano /etc/fstab
在文件末尾增加以下内容。
/swapfile none swap sw 0 0
5、扩容swap文件
如果swap文件已经创建成功,可以执行以下命令进行扩容。假设swap文件名为/swapfile,扩容1024M。
swapoff /swapfile
dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc
mkswap /swapfile
swapon /swapfile