教程:在 CentOS 7上创建 swap 分区

swap 分区是硬盘上的一块空间,当物理内存使用完之后,系统把 swap 分区来当作内存使用。当 Linux 系统的内存用完时,非活动页面将从内存转移到 swap 分区。

swap 分区可以采用专门交换分区或交换文件的形式。 在大多数情况下,在 VPS 上运行 CentOS 时,不存在交换分区,因此唯一的选择是创建交换文件。

本教程以 CentOS 7 系统为例,介绍添加 swap 分区的操作,以 root 用户操作。

创建 swap 分区具体过程

在添加 swap 分区之前,运行以下命令查看是不是已经存在 swap 分区,如果没有任何的输出,说明该系统没有 swap 分区。

# swapon --show

1、创建一个 swap 文件

本教程创建 1G 的 swap 分区,可以根据自身的需要进行修改。

# fallocate -l 1G /swapfile

2、设置权限,只允许 root 用户进行读写操作

# chmod 600 /swapfile

3、创建 swap 分区

# mkswap /swapfile

4、激活 swap 分区

# swapon /swapfile

编辑 /etc/fstab 文件,添加一行:

# /swapfile swap swap defaults 0 0

swap 分区创建过程

5、验证 swap 分区

# swapon --show

swapon --show 查看 swap 分区情况

# free -h

free -h 命令查看 swap 分区情况

修改 swappiness 值

swappiness 是 Linux 内核的属性,范围从 0 到 100,当 swappiness 越小时,系统会尽量不使用 swap 分区,反之,系统会更多地使用 swap 分区。

由于 swap 分区使用的是硬盘的空间,虽然现在的 SSD 速度比以前的 HDD 快多了,但是和内存比起来还是很慢。所以在设置 swappiness 值的时候,要根据自身内存的大小和应用的需要,设置一个最佳值。

1、查看 swappiness 值

# cat /proc/sys/vm/swappiness

2、修改 swappiness 值

# sysctl vm.swappiness=10

如果想要系统重启之后 swappiness 值仍然有效,需要修改 /etc/sysctl.conf 文件,修改 swappiness 参数(如果没有就增加一行):

vm.swappiness=10

删除 swap 分区

1、停用 swap 分区

# swapoff -v /swapfile

2、删除 /etc/fstab 文件中增加的一行

/swapfile swap swap defaults 0 0

3、删除 swapfile 文件

# rm /swapfile

删除 swap 分区的过程

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>