管理交换空间
目标
创建和管理交换空间以补充屋里内存。
名词解释
- 交换空间
交换空间是受Linux内核内存管理子系统控制的磁盘区域。内核使用交换空间,通过保存不活动的内存页来补充系统RAM。系统RAM与交换空间组合在一起称为虚拟内存。
当系统上的内存使用量超过定义的限制时,内核将搜索RAM,寻找已分配给进程但空闲的内存页。内核将空闲的内存页写入到交换区,并向其他进程重新分配RAM页面。如果某个程序需要访问磁盘上的页面,则内核会找到另一个空闲的内存页,将其写入到磁盘,然后从交换区重新调用所需的页面。
由于交换区位于磁盘上,所以与RAM相比,交换会比较慢。虽然是用于增加系统RAM,但对于RAM不足以满足工作负载需求的问题,不应将交换空间视为可持续性的解决方案。
- 调整交换空间大小
管理员应根据系统的内存工作负载来调整交换空间大小。应用供应商有时会提供这方面的建议。根据物理内存总量,下表提供了一些知道。
| RAM | 交换空间 | 允许HIBERNATE时的交换空间 |
|---|---|---|
| 2GiB或以下 | 两倍的RAM | 三倍的RAM |
| 4GiB或以上 | 4GB即可 | 不需要过多的交换空间 |
实操演示
- 创建swap分区并挂载使用
(parted) mkpart primary linux-swap 0% 2048MB
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdd: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 2048MB 2047MB linux-swap(v1) primary
(parted) quit
信息: You may need to update /etc/fstab.
##格式化分区为交换分区格式
[root@localhost ~]# mkswap /dev/sdd1
mkswap: /dev/sdd1: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 1998844 KiB
无标签,UUID=7a09364f-ee04-42c9-b70f-a04a892bc9e2
##查看当前交换分区
[root@localhost ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 7340028 0 -2
[root@localhost ~]# swapon /dev/sdd1
[root@localhost ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 7340028 0 -2
/dev/sdd1 partition 1998844 0 -3
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1819 249 1234 25 335 1385
Swap: 9119 0 9119
##永久挂载交换分区
[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jun 10 09:42:49 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=44b91e5a-a1d3-4e03-a98f-663d890dc764 /boot xfs defaults 0 0
/dev/mapper/centos-data /data xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdd/sdd1 swap swap defaults 0 0
文档更新时间: 2022-11-01 16:53 作者:xiubao yan