Linux7.7设置交换分区SWAP的方法
SWAP交换分区是Linux系统中当物理内存不足时,用于临时存储内存中不活跃数据的空间,合理设置SWAP可以提升系统在内存压力下的稳定性介绍在Linux 7.7系统中设置SWAP交换分区的完整步骤。
一、准备工作
在操作前,建议先查看当前系统的内存和SWAP使用情况,确认是否已经存在SWAP分区,避免重复设置。
# 查看内存和SWAP使用情况 free -h # 查看磁盘分区情况 fdisk -l
如果输出结果中SWAP行显示大小为0,说明当前系统未配置SWAP,可按照后续步骤进行设置。
二、创建SWAP文件(推荐方式)
如果磁盘没有多余的分区可以用来创建SWAP,或者希望灵活调整SWAP大小,可以通过创建SWAP文件的方式实现,步骤如下:
1. 创建指定大小的SWAP文件
假设我们需要创建4G的SWAP文件code>dd命令从/dev/zero读取数据写入SWAP文件,bs表示块大小,count表示块数量,两者乘积为文件总大小。
# 创建4G的SWAP文件,路径为/swapfile dd if=/dev/zero of=/swapfile bs=1M count=4096
执行完成后可以通过ls -lh /swapfile命令确认文件大小是否正确。
2. 设置文件权限
SWAP文件仅允许root用户读写,需要修改文件权限避免安全风险。
chmod 600 /swapfile
3. 格式化SWAP文件
使用mkswap命令将创建的文件格式化为SWAP格式。
mkswap /swapfile
4. 启用SWAP文件
格式化完成后,使用swapon命令临时启用SWAP文件,此时可以通过free -h命令看到SWAP大小已经更新。
swapon /swapfile
5. 设置开机自动挂载
临时启用的SWAP在系统重启后会失效,需要修改/etc/fstab文件实现开机自动挂载。使用文本编辑器打开该文件,在末尾添加如下内容:
/swapfile swap swap defaults 0 0
添加完成后保存退出,可以使用mount -a命令验证配置是否正确,如果无报错说明配置生效。
三、通过磁盘分区创建SWAP(可选方式)
如果磁盘有未使用的分区,也可以将分区设置为SWAP,步骤如下:
1. 创建SWAP分区
使用fdisk或者parted工具对磁盘进行分区,假设我们将/dev/sdb1分区作为SWAP分区,分区完成后需要修改分区类型为Linux swap,fdisk中对应的类型代码为82。
# 进入fdisk工具操作/dev/sdb磁盘 fdisk /dev/sdb # 按照提示创建分区,修改分区类型为82,最后w保存退出
2. 格式化SWAP分区
分区创建完成后,使用mkswap命令格式化分区。
mkswap /dev/sdb1
3. 启用并配置开机自动挂载
同样先临时启用分区,再修改/etc/fstab文件实现开机自动挂载。
# 临时启用SWAP分区 swapon /dev/sdb1 # 编辑/etc/fstab,添加如下内容 /dev/sdb1 swap swap defaults 0 0
四、验证SWAP配置
完成上述操作后,可以通过以下命令验证SWAP是否正常工作:
# 查看SWAP使用情况 free -h # 查看SWAP挂载状态 swapon -s
如果free -h输出中SWAP行显示的大小和设置的一致,且swapon -s能列出对应的SWAP文件或分区,说明配置成功。
五、调整SWAP使用优先级(可选)
如果有多个SWAP空间,可以通过修改/etc/fstab中的defaults参数为pri=优先级数值调整使用顺序,数值越大优先级越高,系统会优先使用优先级高的SWAP。
例如将SWAP文件的优先级设置为10,修改/etc/fstab中对应行为:
/swapfile swap swap pri=10 0 0
修改后执行swapoff /swapfile && swapon /swapfile使配置生效。
六、注意事项
SWAP的大小建议设置为物理内存的1-2倍,如果物理内存大于8G,也可以设置和物理内存等大的SWAP,具体根据业务需求调整。
如果不再需要使用SWAP文件,可以先执行
swapoff /swapfile关闭SWAP,再删除/etc/fstab中的对应配置,最后删除/swapfile文件即可。使用分区方式创建的SWAP如果需要删除,先执行
swapoff /dev/sdb1关闭,再删除/etc/fstab中的配置,最后可以使用fdisk工具删除对应分区。