linux

Linux Swap分区设置指南

小樊
58
2025-11-02 05:52:36
栏目: 智能运维

Linux Swap分区设置指南

一、Swap分区概述

Swap(交换分区/文件)是Linux系统的虚拟内存空间,当物理内存(RAM)不足时,系统会将闲置内存数据暂存至Swap空间,以缓解内存压力。其本质是将硬盘的一部分空间模拟为内存,但访问速度远低于物理内存(尤其是机械硬盘)。合理配置Swap可提升系统稳定性,避免因内存耗尽导致的进程崩溃或系统死机。

二、查看当前Swap状态

在配置前,需先确认系统现有Swap情况,常用命令如下:

三、创建Swap分区(磁盘分区方式)

适用于需要固定大小、高性能Swap的场景(如服务器长期稳定运行),步骤如下:

1. 准备磁盘分区

使用fdisk工具在目标磁盘上创建新分区(以/dev/sdb为例):

fdisk /dev/sdb

2. 格式化Swap分区

使用mkswap命令将分区格式化为Swap空间(假设分区为/dev/sdb1):

mkswap /dev/sdb1

执行后会显示Swap分区的UUID及大小。

3. 启用Swap分区

使用swapon命令激活分区:

swapon /dev/sdb1

可通过free -h验证Swap是否启用。

4. 配置开机自启

编辑/etc/fstab文件,添加以下内容(替换为实际分区路径):

/dev/sdb1 swap swap defaults 0 0

保存后,系统重启时会自动启用该Swap分区。

四、创建Swap文件(文件方式)

适用于动态调整大小、无额外磁盘分区的场景(如云服务器、内存临时不足),步骤如下:

1. 创建Swap文件

使用fallocate(快速)或dd(通用)命令创建指定大小的文件(以4GB为例):

sudo fallocate -l 4G /swapfile  # 推荐,速度快
# 或
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096  # 通用,速度慢

注:bs为块大小(如1M),count为块数量(bs*count=文件大小)。

2. 设置文件权限

Swap文件需限制为root专属读写,防止普通用户篡改:

sudo chmod 600 /swapfile

3. 格式化Swap文件

使用mkswap命令将文件格式化为Swap空间:

sudo mkswap /swapfile

4. 启用Swap文件

使用swapon命令激活文件:

sudo swapon /swapfile

5. 配置开机自启

编辑/etc/fstab文件,添加以下内容:

/swapfile none swap sw 0 0

保存后,系统重启时会自动启用该Swap文件。

五、Swap大小设置建议

Swap大小需根据物理内存大小应用场景调整,常见建议如下:

六、Swappiness参数调优

swappiness是控制内核使用Swap积极程度的参数,取值范围为0-100

调整方法

七、删除Swap分区/文件

若需移除Swap,需先禁用再删除,步骤如下:

1. 禁用Swap

sudo swapoff /dev/sdb1  # 删除分区
# 或
sudo swapoff /swapfile  # 删除文件

2. 删除配置

注意事项

0
看了该问题的人还看了