增加swap分区大小

如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的,通常Swap空间的大小应是物理内存的2-2.5倍.
此方法不限于centos,linux均适用
以下命令均需在root帐号下操作

1.先用free -m查看一下swap的大小

[root@CentOS7 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3789        3143         504           8         140         456
Swap:          3967           0        3967
You have mail in /var/spool/mail/root

2.用命令cd /usr,先进入usr路径中,新建一个文件夹swap

[root@CentOS7 ~]# cd /usr
[root@CentOS7 usr]# mkdir swap
[root@CentOS7 usr]# 

3. 创建后进行进入到该swap文件夹路径,命令为:cd swap,用命令ll查看使用量为0

[root@CentOS7 usr]# cd swap
[root@CentOS7 swap]# ll
total 0
[root@CentOS7 swap]# 

4.这里我们创建swap文件,命令为:dd if=/dev/zero of=swapfile bs=1G count=5
这条命令从硬盘里分出一个1×5G 大小的空间,挂在swapfile上。

[root@CentOS7 swap]# dd if=/dev/zero of=swapfile bs=1G count=5
5+0 records in
5+0 records out
5368709120 bytes (5.4 GB) copied, 11.3948 s, 471 MB/s
[root@CentOS7 swap]# 

5.swapfile文件完成后,用命令ll -h查看用量为5G

[root@CentOS7 swap]# ll -h
total 5.0G
-rw-r--r--. 1 root root 5.0G Aug 26 09:36 swapfile
[root@CentOS7 swap]# 

6.swapfile文件创建后,需要构建swap格式于/usr/swap/swapfile 上
命令为:mkswap /usr/swap/swapfile

[root@CentOS7 swap]# mkswap /usr/swap/swapfile
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=18c123df-4746-49d1-a8e8-f8909d661c15
[root@CentOS7 swap]# 

7.用命令激活swap,立即启用交换分区文件
命令为:swapon /usr/swap/swapfile

[root@CentOS7 swap]# swapon /usr/swap/swapfile
swapon: /usr/swap/swapfile: insecure permissions 0644, 0600 suggested.
[root@CentOS7 swap]# 

执行以上命令可能会出现:“不安全的权限 0644,建议使用 0600”类似提示,不要紧张,实际上已经激活了,可以忽略提示,也可以听从系统的建议修改下

[root@CentOS7 swap]# chmod -R 0600 /usr/swap/swapfile

查看swap已经增加:

[root@CentOS7 swap]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3789        3104         164           0         521         469
Swap:          9087          73        9014

但是这样的设置重启后就失效了,为了保证每次启动都能启用该交换空间,需要手动编辑文件/etc/fstab中的swap行
命令为:vi /etc/fstab
添加命令行:
/usr/swap/swapfile      swap                    swap    defaults        0 0

[root@CentOS7 swap]# vi /etc/fstab

#
# /etc/fstab
# Created by anaconda on Tue Aug  4 09:49:46 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=5b909982-15b5-4fe0-a1ac-57e269825dcf /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/usr/swap/swapfile swap                         swap    defaults        0 0
~                                                                                 

Was this article helpful?

Related Articles