概念
交换空间:
在以前,当物理内存的数量达到来了临界低点,通常会选择最不活跃的进程从内存移到交换空间以释放内存空间,但是现在的操作系统是将交换和虚拟内存技术以及交换页给结合在一起了,这样就不必对整个进程进行交换。
虚拟内存是使用磁盘空间作为内存的扩充,由于磁盘访问比内存访问要慢很多,所以我们在使用交换空间的时候就会严重的影响系统性能,交换空间的设计和实现的主要目的就是为虚拟内存提供最佳吞吐量。
当物理内存不够用的时候,Linux会将内存中暂时不用的数据,放到swap分区中。
交换分区:
swap分区一般在安装好Linux系统时,系统会自己分配好,大小一般是内存的两倍。如果遇到还不够用,就需要我们手动来划分swap分区。
系统所需要的交换空间的量会受到以下几个因素的影响
1、物理内存的多少
2、所支持的虚拟内存大小
3、内存使用方式
制作交换空间设备mkswap
mkswap 交换设备 ##格式化交换设备
1)交换设备:开机自启动/etc/fstab
格式: 设备路径 swap swap defaults 0 0
测试swapon -a
free -m
2)文件制作swap空间
dd if=/dev/zero of=文件路径 bs=块大小 count=块数
mkswap 交换文件路径 ## 格式化交换文件
创建交换空间
创建文件类型为linux-swap的分区,为设备放置交换签名。
创建交换分区
parted /dev/vdb print
parted /dev/vdb mkpart swap1 linux-swap 1001MB 1501MB
udevadm settle
格式化设备
mkswap /dev/vdb2
激活交换空间
free #检查可用交换空间
swapon /dev/vdb2
free
#swapoff关闭交换空间
持久激活交换空间
vim /etc/fstab
UUID=........... swap swap defaults 0 0
systemctl daemon-reload
设置交换空间的优先级
在/etc/fstab中使用pri选项。内核会首先使用优先级高的交换空间。默认优先级为-2。
例:UUID=............ swap swap pri=4 0 0