
# Linux如何创建swap分区/swap文件
#### 适用场景
本节操作以CentOS 6.8操作系统云服务器为例，指导用户创建swap分区。
#### 约束与限制
操作过程中涉及创建指定大小的文件，请确认系统磁盘空间有足够的空余空间。
#### 场景一：使用块设备创建swap
1. 执行以下命令，新建一个分区（以2G为例）。 **fdisk /dev/vdb**
   回显信息如下：
   ```
   Command (m for help): n
   Partition type:
      p   primary (0 primary, 0 extended, 4 free)
      e   extended
   Select (default p): 
   Using default response p
   Partition number (1-4, default 1): 
   First sector (2048-20971519, default 2048): 
   Using default value 2048
   Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +2G
   Partition 1 of type Linux and of size 2 GiB is set
   ```
   ```
   Command (m for help): p
   Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
   Units = sectors of 1 * 512 = 512 bytes
   Sector size (logical/physical): 512 bytes / 512 bytes
   I/O size (minimum/optimal): 512 bytes / 512 bytes
   Disk label type: dos
   Disk identifier: 0x1f02f438
      Device Boot      Start         End      Blocks   Id  System
        /dev/vdb1       2048     4196351     2097152   83   Linux
   Command (m for help): w
   The partition table has been altered!
   Calling ioctl() to re-read partition table.
   Syncing disks.
   ```
   
2. 执行以下命令，将新建的分区创建为swap。 **mkswap /dev/vdb1**
   
3. 执行以下命令，激活swap分区。 **swapon /dev/vdb1**
   
4. 执行以下命令，查询已启动的swap。 **swapon -s**
   
5. 执行以下命令，查询swap分区UUID。
   **blkid \|grep swap \|awk '{print $2}'**
   ```
   UUID="1ee90e3c-1538-453b-9240-ad430f835f6f"
   ```
   
6. 执行以下命令，实现swap开机自动挂载，将挂载信息写入/etc/fstab。 swap的UUID从步骤[5]获取。本例中执行命令如下。
   **echo "UUID=*1ee90e3c-1538-453b-9240-ad430f835f6f* swap swap defaults 0 0" \>\>/etc/fstab**
   
7. 执行以下命令，挂载swap。 **mount -a**
   
 
#### 场景二：使用文件模拟的块设备做swap分区
![](https://support.huaweicloud.com/trouble-ecs/public_sys-resources/note_3.0-zh-cn.png)
使用文件模拟的块设备做swap性能较之直接使用块设备性能较差。
1. 执行以下命令，创建1G的swap文件。 **dd if=/dev/zero of=/swapfile bs=1M count=1000**
   
2. 执行以下命令，更改文件为swap。 **chmod 600 /swapfile**
   
3. 执行以下命令，更改文件属性为swap。 **mkswap /swapfile**
   
4. 执行以下命令，启用swap。 **swapon /swapfile**
   
5. 执行以下命令，实现swap开机自动挂载，将swap文件挂载写入/etc/fstab。 **echo "/swapfile swap swap defaults 0 0" \>\>/etc/fstab**
   
6. 执行以下命令，挂载swap。 **mount -a**
   
 
