系统版本:CentOS 7.9
注:该操作建议以root用户执行。
前言CentOS7.9安装后默认swap空间大小=运行内存大小,本人在安装Oracle时报错swap空间不足,因此就有了这篇文章。
1、创建目录找一个放交换文件的地方,这里我就在系统根目录下创建一个swap文件夹。
进入根目录:
cd /创建文件夹swap:
mkdir swap注:swap文件放在哪里都行,知道路径就行,后面配置需要用到。
2、创建交换文件 dd if=/dev/zero of=/swap/swapfile bs=1G count=4 命令说明dd 用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
/dev/zero zero是一个伪文件,它实际上产生连续不断的null的流(二进制的零流,而不是ASCII型的)。写入它的输出会丢失不见,zero文件主要的用处是用来创建一个指定长度用于初始化的空文件,像临时交换文件。
参考资料:https://www.cnblogs.com/lishihai/p/7986565.html
of=/swap/swapfile 表示生成的文件位置是/swap,文件名是swapfile
bs 表示文件大小基数,count 表示文件大小基数的数目,生成的文件大小为bs*count
效果 记录了4+0 的读入记录了4+0 的写出4294967296字节(4.3 GB)已复制,4.74167 秒,906 MB/秒 3、设置文件权限 chmod 600 swapfile 命令说明600 表示设置拥有者可读写,其他人不可读写执行
chmod 600 swapfile
等价于
chmod u=rw,g=---,o=--- swapfile
或
chmod u=rw,go-rwx swapfile
注:swapon后为swap文件的路径。
【拓展】 6、查看交换空间 free -m 效果 total used free shared buff/cache availableMem: 1819 635 916 13 267 1021Swap: 6143 321 5822这里swap的total表示交换空间的大小,这里是6G。
【拓展】 7、让系统启动时加载交换文件 【关于fstab】/etc/fstab fstab是用来存放文件系统的静态信息的文件。当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。
参考资料:https://blog.csdn.net/richerg85/article/details/17917129
修改fstab文件,以便让系统启动时加载交换文件。
vi /etc/fstabfstab文件原内容
## /etc/fstab# Created by anaconda on Mon Nov 16 11:41:48 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 0UUID=bde1531a-8fca-428d-89e4-309f0a8c9e46 /boot xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0定位到最后,可以看到内容中已经有加载交换文件的代码了。
按i进入INSERT模式开始编辑,在
/dev/mapper/centos-swap swap swap defaults 0 0
行首添加#注释掉它即可。
然后添加我们的交换文件。
按o向下添加一行,添加如下代码
/swap/swapfile swap swap defaults 0 0 命令说明/swap/swapfile 表示交换文件所在位置,绝对路径。其它参数照搬系统原来的即可。
保存并退出vi。
编辑后的fstab文件内容如下
## /etc/fstab# Created by anaconda on Mon Nov 16 11:41:48 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 0UUID=bde1531a-8fca-428d-89e4-309f0a8c9e46 /boot xfs defaults 0 0#/dev/mapper/centos-swap swap swap defaults 0 0/swap/swapfile swap swap defaults 0 0此时就可以做到开机自动挂载swap file了。