首页 > 代码库 > linux下创建swap分区

linux下创建swap分区

centos6.8系统为列, 创建交换分区

查看当前系统的swap分区

[root@centos6 ~]# swapon -s
FilenameTypeSizeUsed   Priority
/dev/sda3                               partition20725720      -1

创建/dev/sdb1分区

[root@centos6 ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x420e5771
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         523     4200966   83  Linux

格式化该分区:

[root@centos6 ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 4200960 KiB
no label, UUID=37ea704c-7fdd-4969-a58d-19021c5a023a


 手动挂载交换分区:

[root@centos6 ~]# swapon /dev/sdb1
[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda3                               partition20725720  -1
/dev/sdb1                               partition42009600  -2

将挂载选项写入/etc/fstab

技术分享


激活/etc/fstab中新添加的交换分区

[root@centos6 ~]# swapon -a

查看系统内的交换分区:

[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda3                               partition20725720  -1
/dev/sdb1                               partition42009600  -2

但是多个交换分区存在优先级, 使用起来有先后顺序, 优先级越高的越先被系统使用。如果挂载的时候不手动指定优先级的话, 每创建一个交换分区,优先级的值等于上一个交换分区优先级值减1.

用户给新交换分区指定优先级, 必须指定032767的优先级

指定优先级的好处, 有的交换分区存放在高性能的磁盘上,有的甚至是在磁盘的外磁道上, 这些都能提高交换分区的性能, 为了让这些高性能的交换分区先执行的话, 必须指定优先级。

创建一个分区/dev/sdb2, 假设这块的性能是高于上面的两块的。

[root@centos6 ~]# fdisk -l /dev/sdb
 
Disk /dev/sdb: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x420e5771
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         523     4200966   83  Linux
/dev/sdb2             524        1046     4200997+  83  Linux

格式化
[root@centos6 ~]# swapon /dev/sdb2

写入/etc/fstab

技术分享

重新读取/etc/fstab, 查看交换分区的内容。

[root@centos6 ~]# swapon -a
[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda3                               partition20725720   -1
/dev/sdb1                               partition42009600   -2
/dev/sdb2                               partition42009920    1


/dev/sdb2 的优先级高于/dev/sda3/dev/sdb1, 使用交换分区的时候, 优先使用/dev/sda2

 

还有一个问题:当交换分区已经挂载好了, 修改了挂载选项或则是改变的交换分区的大小后, 重新挂载的时候, 不能使用swap -a读取/etc/fstab,  已经挂载过的设备, 它是不会自动重新挂载的。如果想要重新挂载的话, 需要先卸载分区, 然后使用swapon -a 重新挂载分区。

 技术分享

重新读取, 优先级并没有修过过来

[root@centos6 ~]# swapon -a
[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda3                               partition20725720  -1
/dev/sdb1                               partition42009600  -2
/dev/sdb2                               partition42009920   1


首先先卸载, 重新读取/etc/fstab, 优先级被修改过来。

root@centos6 ~]# swapoff /dev/sdb1
[root@centos6 ~]# swapon -a 
[root@centos6 ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda3                               partition20725720  -1
/dev/sdb1                               partition42009600   2
/dev/sdb2                               partition42009920   1


在格式化swap分区的时候, 就可以指定优先级

swap -p # /dev/sdb1  # 为阿拉伯数字  格式化的过程中, 指定了优先级

linux下创建swap分区