Linux 设置交换分区
踩过的坑
最近整理 VPS 小鸡,在折腾 Docker Swarm + Traefik 搞属于自己的集群和负载均衡。发现有一两台小鸡总是莫名奇妙地突然跑高,经过排查发现是小鸡内存太小,又没有设置交换分区导致的。
设置交换分区
Swap 分区也称交换区或交换分区,系统在物理内存不够时,将一些暂时用不到的数据放在 Swap 分区,等到需要的时候再将数据加载到内存中。本文主要简单记录下设置交换分区的过程,方便以后查看。
查看交换分区
通过简单的 free -m
命令即可查看机子上的内存和交换分区设置,或者你也可以通过 swapon -s
查看是否有相应的交换分区文件。
创建交换分区
使用 Linux 的 dd
命令可以很快地创建出一个固定大小的文件,后续将该文件作为 Swap 分区。以下命令创建了一个 1GB 大小的名称为 swap 的文件,关于 dd
的更多命令可以百度或者谷歌。
1 | dd if=/dev/zero of=/swap count=1024 bs=1M |
格式化交换分区
在启用该交换分区前,我们需要格式化该分区,并赋予 root 用户可读写权限。
1 | chmod 600 /swap |
开启交换分区
使用 swapon
命令可以启用交换分区,命令行如下。这个时候,再用 free -m
命令查看应该可以看到我们刚创建的交换分区。
1 | swapon /swap |
开机自启动
修改 /etc/fstab
文件,在文件末尾加上 /swap none swap sw 0 0
,保存并退出。之后每次开机系统会自动加载交换分区。