目录
一、Swap 交换分区的功能
二、swap 交换分区的典型大小的设置
2.1 查看交换分区的大小
2.1.1 free
2.1.2 cat /proc/swaps 或 swapon -s
2.1.3 top
三、使用交换分区的整体流程
3.1 案例一
3.2 案例二
一、Swap 交换分区的功能
计算机运行一个程序首先会将外存(硬盘)中的数据读取到内存中,而 CPU 则从内存中读取数据并根据指令运行相应的程序。其中读写速度(速度不匹配):CPU > 内存 > 硬盘。我们通过引入 swap 交换分区可以缓解 内存与外存之间的读取数据的速度问题。swap 交换分区的物理实体是通过占用一部分外存的存储空间实现的。通过 swap 交换分区技术实现内存从外存的读取速度接近于内存的读取速度(远高于外存)。我们可以将 swap 交换分区理解为缓冲的桥梁,从而缓解了速度不匹配的矛盾。
二、swap 交换分区的典型大小的设置
1. 如果物理内存 <= 2G,swap 设置为 内存的 2 倍
2. 如果物理内存介于 2G~8G 之间,swap 设置为同等内存大小
3. 如果物理内存介于 8G~64G 之间,swap 设置为至少 4 G
4. 如果物理内存 >= 64G,swap 设置为至少 4 G
2.1 查看交换分区的大小
2.1.1 free
free:查看内存的详细信息,其中包括交换分区的大小,单位为 K
free -m:查看内存的详细信息,其中包括交换分区的大小,大小为 M
free -h :查看内存的详细信息,其中包括交换分区的大小,大小为 G
2.1.2 cat /proc/swaps 或 swapon -s
cat /proc/swaps 或 swapon -s:查看即时内存中的交换分区信息。其中 proc 为根路径下的即时内存目录
2.1.3 top
top(实时刷新):显示系统中运行的进程信息,包含swap分区信息 (q退出)
三、使用交换分区的整体流程
- 第一步:分区
- 第二步:更新磁盘分区表
- 第三步:格式化
- 第四步:挂载
- 第五步:使用(系统会自动使用)
3.1 案例一
要求:添加一个 1G 的 swap 分区并且重启系统依然有效,不能改变原来的 swap 分区
1. 寻找空闲的磁盘:选择 5G 空闲的 vdb
fdisk -l
2. 分区
fdisk /dev/vdb
3. 更新磁盘分区表
4. 格式化
mkswap /dev/vdc1
blkid
5. 手动挂载:将 1G 的 vdb1 填充到交换分区中(重启后会失效)
验证swap交换分区挂载成功与否的方法:
swapon /dev/vdb1
5. 永久挂载(开机自动挂载)
写入开机自启文件:
vim /etc/fstab/dev/vdb1 swap swap defaults 0 0swapon -a //不同于挂载普通分区时执行的mount -a
free
reboot //重启验证效果
验证永久挂载的效果前:卸载手动挂载
swapoff /dev/vdb1
3.2 案例二
要求:将系统的 swap 分区增加到 1500000K,并且重启系统依然有效,不能改变原来的 swap 分区
1. 查看swap分区的大小
2. 计算swap的差值(要求将swap分区调整到1500000K)
3. 创建一个大小为451428大小的物理分区/dev/vdb2
4. 更新磁盘分区表
5. 格式化
6. 挂载
vim /etc/fstab
/dev/vdb2 swap swap defaults 0 0
7. 模拟交换分区重启
8. 查看底层分区支持