共计 2282 个字符,预计需要花费 6 分钟才能阅读完成。
swap 分区在系统的运行内存不够用的时候,把运行内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到 swap 分区中,等到那些程序要运行时,再从 Swap 分区中恢复保存的数据到内存中。可以缓解物理内存不足的压力,如果物理内存不足,还没有 swap 空间,会宕机
扩容 swap 空间
方法 1: 增加一个设备(硬盘,分区,逻辑卷)来扩容 swap 空间
查看 swap 空间大小:[root@zutuanxue ~]# free -m
total used free shared buff/cache available
Mem: 3918 1309 2002 15 606 2358
Swap: 2047 0 2047
[root@zutuanxue ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 2097148 0 -2
[root@zutuanxue ~]# mkswap /dev/sdb4
正在设置交换空间版本 1,大小 = 2 GiB (2147479552 个字节 )
无标签,UUID=8235e59a-1043-4251-8694-ba619cb36f1c
[root@zutuanxue ~]# blkid /dev/sdb4
/dev/sdb4: UUID="8...c" TYPE="swap" PARTUUID="b...e"
// 激活 swap 分区。swap 空间不能手动挂载
[root@zutuanxue ~]# swapon /dev/sdb4
[root@zutuanxue ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 2097148 0 -2
/dev/sdb4 partition 2097148 0 -3
[root@zutuanxue ~]# free -m
total used free shared buff/cache available
Swap: 4095 0 4095
LVM 形式
[root@zutuanxue ~]# mkswap /dev/vg1/swap #创建 swap
[root@zutuanxue ~]# swapon /dev/vg1/swap #开启 swap
[root@zutuanxue ~]# lvextend -L 4G /dev/vg1/swap #放大 LVM 形式的 swap
[root@zutuanxue ~]# swapoff /dev/vg1/swap #关闭 lvm 形式的 swap
[root@zutuanxue /]# mkswap /dev/vg1/lv-swap #重新制作 swap
[root@zutuanxue ~]# swapon /dev/vg1/swap #开启 lvm 形式的 swap
[root@zutuanxue ~]# free -m #确认 swap 分区是否放大
方法 2: 使用 dd 命令模拟大文件来扩容 swap
[root@zutuanxue ~]# dd if=/dev/zero of=/tmp/swapfile bs=1M count=2048
if= 源文件,in file 指定从哪里读入数据
of= 目标文件,out file 指定将数据写入什么位置
bs= 复制数据的大小,block size
count= 复制的个数
注意:1. 一般可以使用 dd 命令做块设备文件的备份
2. /dev/zero 特殊设备,一般用来模拟一个大文件,源源不断的二进制的数据流;
/dev/null 空设备,类似黑洞
步骤:1. 使用 dd 命令模拟大文件
# dd if=/dev/zero of=/tmp/swapfile bs=1M count=2048
2. 格式化大文件
[root@zutuanxue ~]# mkswap /tmp/swapfile
mkswap: /tmp/swapfile:不安全的权限 0644,建议使用 0600。正在设置交换空间版本 1,大小 = 2 GiB (2147479552 个字节 )
无标签,UUID=3d855316-c97c-42ca-9c52-9df26a4517a0
[root@zutuanxue ~]# ll /tmp/swapfile
-rw-r--r-- 1 root root 2147483648 12 月 10 21:02 /tmp/swapfile
[root@zutuanxue ~]# chmod 600 /tmp/swapfile
3. 激活大文件
[root@zutuanxue ~]# swapon -p1 /tmp/swapfile
-p:指定优先级,数字越大优先级越高,-1~32767
4. 查看
[root@zutuanxue ~]# swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 2097148 268 -2
/dev/sdb4 partition 2097148 0 -3
/tmp/swapfile file 2097148 0 1
[root@zutuanxue ~]# free -m
total used free shared buff/cache available
Swap: 6143 0 6143
如果开机自动挂载,需要修改文件:/etc/fstab
[root@zutuanxue ~]# vim /etc/fstab
/dev/sda4 swap swap defaults 0 0
/tmp/swapfile swap swap dfaults,pri=1 0 0
[root@zutuanxue ~]# swapon -a
关闭 swap
[root@zutuanxue ~]# swapoff /dev/sdb4
[root@zutuanxue ~]# swapoff /tmp/swapfile
或者
# 关闭所有 swap**** 慎用 *****
[root@zutuanxue ~]# swapoff -a
正文完
星哥玩云-微信公众号