Lxn-Chan!

(~ ̄▽ ̄)→))* ̄▽ ̄*)o

关于 Swap 分区的那些事。

Swap 分区

什么是 Swap 分区

说白了就是在内存不足时,将硬盘的一部分空间作为内存使用(扩展内存),同时在休眠时,能够将状态保存至该分区中(页面文件)。

是否要开启 Swap 分区

这个问题没有确切的答案,一般来说如果 RAM 大于 4GB 就无需分配 Swap ;小于 4GB 时根据实际情况判断是否要分配。

而根据 Ubuntu 官方的建议:

  • 若 RAM ≤ 1GB ,则 Swap 应为 1GB 或更大;
  • 若 RAM > 1GB ,则 Swap 应为 RAM 大小的平方根,最大值为 RAM 的两倍;
  • 若还需启用休眠,则 Swap 交换大小应该等于 RAM 的大小加上 RAM 大小的平方根。

一般来说公有云上面会默认关闭 Swap 。

启用 Swap

  1. 查看当前 Swap 状态:
1
2
3
4
root@lxnchan-testbench-v33:~# free
total used free shared buff/cache available
Mem: 1006412 885648 35256 48 85508 45200
Swap: 0 0 0

此时可以看到,Swap行显示的值为0,证明当前并未开启Swap;否则则是当前已经开启了Swap,若需要调整大小需要先禁用后再重新开启。

  1. 创建 Swap 镜像:

创建镜像文件:

1
dd if=/dev/zero of=swap.img count=4096 bs=1M

其中count参数代表镜像容量,单位为MB;swap镜像的创建位置可以是任意的,但建议放在根目录。

  1. 启用 Swap :
1
2
chmod 600 swap.img
mkswap swap.img

执行完上述两条命令后应有返回值如下:

1
2
Setting up swapspace version 1, size = 4194296 KiB
no label, UUID=xxx

代表Swap镜像激活成功,此时执行如下命令启用Swap:

1
swapon swap.img

此时再查看内存状态:

1
2
3
4
root@lxnchan-testbench-v33:~# free -h
total used free shared buff/cache available
Mem: 982M 307M 529M 76K 146M 601M
Swap: 4.0G 601M 3.4G

开机自动启用 swap

打开/etc/fstab文件,在该文件末尾添加一行:

1
/root/swap.img    none    swap    sw    0    0

其中第一个参数应该填写swap镜像的物理位置(绝对路径)。

禁用 Swap

执行如下命令禁用 Swap:

1
swapoff -a

若还添加了开机自动启用还需要注释掉对应的行。

 简单说两句



联系站长 | 服务状态 | 友情链接

备案号:辽ICP备19013963号

中国互联网违法和不良信息举报中心

架构版本号:8.1.5 | 本站已全面支持IPv6

本站由又拍云提供CDN加速服务和存储服务

正在载入运行数据(1/2)请稍后...
正在载入运行数据(2/2)请稍后...

Copyright 2024 LingXuanNing, All rights reserved.