修改Linux系统的swap空间


三寻猿
发布于 2023-06-29 / 26 阅读 / 0 评论 /
前言 用的linux最近在跑东西的时候cpu100%,看了下swap空间所在的机械硬盘的占用率很高,就想把swap空间改到固态硬盘看看是否能提升性能。这个地方我用的是centos7,但是理论上大部分linux都应该一样。 开始改 先看下 使用free命令查看内存信息,会返回系统的内存和swap大小等

前言

用的linux最近在跑东西的时候cpu100%,看了下swap空间所在的机械硬盘的占用率很高,就想把swap空间改到固态硬盘看看是否能提升性能。这个地方我用的是centos7,但是理论上大部分linux都应该一样。

开始改

先看下

使用free命令查看内存信息,会返回系统的内存和swap大小等信息。

free -m

使用swapon命令查看swap空间信息,会返回系统的swap空间组成信息。

swapon -s

创建swap空间

  1. 先cd到你要放swap空间的目录,我这里是cd到固态硬盘的挂载目录/mnt/ssd。

  2. 使用dd命令生成swap空间文件,of=后面是文件的名称,这里就用swapfile作为文件名。count=后面可以调整你需要的swap空间大小,单位是G(bs指定的1G)。

  3. 使用mkswap命令处理生成的文件,文件名写第2步指定的swapfile。

  4. 使用swapon命令启用swap空间,文件名还是写第2步指定的swapfile。

  5. 到这里swap空间就生效了,但是重启后会恢复之前的状态,所以后面要配置启动生效的逻辑。

cd /mnt/ssd
dd if=/dev/zero of=swapfile bs=1G count=4
mkswap -f swapfile
swapon swapfile

删除老的swap空间

因为我们上面刚创建了一个,加上老的swap空间就是两个。因为用不到这么多swap空间,这里我们把老的swap空间删掉。

使用swapon命令查看swap空间,我们会发现有两个,使用swapoff把老的swap空间删掉,一般是按顺序显示的也就是说第一个是我们要删的,这里我老的swap空间是/dev/dm-1。

 swapoff /dev/dm-1

启动生效配置

上面提到过我们的配置重启后会失效,所以这里需要让我们的配置启动生效。使用vi修改/etc/fstab文件。

vi /etc/fstab

注释掉老的swap空间,并且新增一行我们新的配置,修改后见下下。这里我只贴出来我们要修改的这块,第一行注释掉的就是我的老swap空间,第二行是我新加的,其它行大家保持不变。

#UUID=93aa0bfb-dd6e-4168-b2c6-21f9b58d02e4 swap swap defaults 0 0
/mnt/ssd/swapfile swap swap defaults 0 0

这里需要特别注意,一定要用文件路径,不要用UUID(mkswap、blkid swapfile会返回UUID),重启后虽然能进入系统但是swap分区会为0。配置是否正确可以保存文件后使用sawpon命令测试一下。

sawpon -a

这里如果你用了UUID就会报错 swapon: cannot find the device for UUID=93aa0bfb-dd6e-4168-b2c6-21f9b58d02e4

搞定

到这里就全部搞定了,cpu使用率也降低了很多😄


评论