linux创建swap空间

OS:redhat7.9

两种swap创建方式

1.创建块文件挂载swap

2.创建分区挂载swap

这两种方式对比,第一种块文件方式灵活,可以随时扩容(部分中间件拒绝swap);第二种性能上有优势,将整个分区划分为swap

第一种,创建块文件挂载swap

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# 使用 fallocate 快速分配空间(需内核支持)# 创建 2G 文件
sudo fallocate -l 2G /swapfile  
# 或使用 dd 命令(兼容性更好)# 2048MB=2G
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048  

#设置文件权限
sudo chmod 600 /swapfile 

# 格式化为 Swap 文件系统
sudo mkswap /swapfile  

#启用swap
sudo swapon /swapfile  

#将swap块文件开机挂载,追加到/etc/fstab(每次开机会自动启用swap)
/swapfile none swap sw 0 0


#禁用swap命令,若不需要开机启动,需要删除/etc/fstab中的配置内容!!!
#sudo swapoff /swapfile 

第二种,创建分区挂载swap

使用fdisk在磁盘剩余空间上创建一个分区,并设置为swap类型!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 假设空余磁盘为 /dev/sdb,在sdb的剩余空间上创建一个swap
#注:需要有剩余空间!!!
sudo fdisk /dev/sdb  
# 依次输入:n(新建分区)→ p(主分区)→ 设置大小 → t(修改类型)→ 82(swap 类型)→ w(保存)

# 格式化为swap
sudo mkswap /dev/sdb1  

#启用 Swap 分区
sudo swapon /dev/sdb1

#将swap分区开机挂载,追加到/etc/fstab(每次开机会自动启用swap)
/dev/sdb1 none swap sw 0 0

#禁用swap命令,若不需要开机启动,需要删除/etc/fstab中的配置内容!!!
#sudo swapoff /swapfile