交换分区介绍
Linux系统中的交换分区是当物理内存(RAM)被充满时,作为物理内存的缓存来使用。
当系统需要更多的内存资源而物理内存已经充满,内存中不活跃的页就会被移动到交换分区上。
交换分区位于硬盘上,所以它的存取速度比物理内存要慢。
一般情况下,交换分区的大小应当相当于计算机内存的两
倍,但不能超过2048MB。
环境介绍
[root@station ~]# fdisk -l
磁盘 /dev/vda:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009fddc
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 8194047 4096000 83 Linux
/dev/vda2 8194048 9242623 524288 82 Linux swap / Solaris
/dev/vda3 9242624 10061823 409600 8e Linux LVM
/dev/vda4 10061824 16777215 3357696 5 Extended
/dev/vda5 10063872 11112447 524288 82 Linux swap / Solaris
磁盘 /dev/mapper/vg0-vo:306 MB, 306184192 字节,598016 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
之前在系统上已经加了一个vda5-512M的交换分区,
这里再加一个100M左右的交换分区。
实验过程
步骤1
创建swap交换分区
[root@station ~]# fdisk /dev/vda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n ##新建分区
All primary partitions are in use
添加逻辑分区 6 ##设置盘符
起始 扇区 (11114496-16777215,默认为 11114496):##扇区默认
将使用默认值 11114496
Last 扇区, +扇区 or +size{K,M,G} (11114496-16777215,默认为 16777215):+100M ##盘符大小设置
分区 6 已设置为 Linux 类型,大小设为 100 MiB
命令(输入 m 获取帮助):t ##修改盘符为swap
分区号 (1-6,默认 6):6
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”
命令(输入 m 获取帮助):w ##保存配置
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@station ~]# partprobe ##初始化kernal的盘符列表
步骤2
设置新创建的swap盘符交换空间
[root@station ~]# mkswap /dev/vda6
正在设置交换空间版本 1,大小 = 102396 KiB
无标签,UUID=4a424ab0-283e-483b-b3f6-f3e5ee1a7570
步骤3
使能交换分区,并加入开机启动编辑fstab文件
[root@station ~]# swapon -a && swapon /dev/vda6
[root@station ~]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Mon May 30 16:17:24 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=954fe550-b7ea-4c51-85bf-38a54cf6c0d0 / xfs defaults 1 1
/dev/mapper/vg0-vo /home xfs defaults 1 2
UUID=42ac954f-c4cc-404d-b4dc-7a0339c43349 swap swap defaults 0 0
/dev/vda5 swap swap defaults 0 0
/dev/vda6 swap swap defaults 0 0
步骤4
验证一下
[root@station ~]# swapon
NAME TYPE SIZE USED PRIO
/dev/vda2 partition 512M 47.5M -1
/dev/vda5 partition 512M 0B -2
/dev/vda6 partition 100M 0B -3
[root@station ~]# fdisk -l
磁盘 /dev/vda:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009fddc
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 8194047 4096000 83 Linux
/dev/vda2 8194048 9242623 524288 82 Linux swap / Solaris
/dev/vda3 9242624 10061823 409600 8e Linux LVM
/dev/vda4 10061824 16777215 3357696 5 Extended
/dev/vda5 10063872 11112447 524288 82 Linux swap / Solaris
/dev/vda6 11114496 11319295 102400 82 Linux swap / Solaris
磁盘 /dev/mapper/vg0-vo:306 MB, 306184192 字节,598016 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
额外的
删除交换分区
[root@station ~]# swapoff /dev/vda6 ##停用这个
[root@station ~]# fdisk /dev/vda
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/vda:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009fddc
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 8194047 4096000 83 Linux
/dev/vda2 8194048 9242623 524288 82 Linux swap / Solaris
/dev/vda3 9242624 10061823 409600 8e Linux LVM
/dev/vda4 10061824 16777215 3357696 5 Extended
/dev/vda5 10063872 11112447 524288 82 Linux swap / Solaris
/dev/vda6 11114496 11319295 102400 82 Linux swap / Solaris
命令(输入 m 获取帮助):d ##删除vda6
分区号 (1-6,默认 6):6
分区 6 已删除
命令(输入 m 获取帮助):p
磁盘 /dev/vda:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009fddc
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 8194047 4096000 83 Linux
/dev/vda2 8194048 9242623 524288 82 Linux swap / Solaris
/dev/vda3 9242624 10061823 409600 8e Linux LVM
/dev/vda4 10061824 16777215 3357696 5 Extended
/dev/vda5 10063872 11112447 524288 82 Linux swap / Solaris
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@station ~]# partprobe ##初始化
[root@station ~]# vim /etc/fstab
[root@station ~]# cat /etc/fstab |grep vda6
#/dev/vda6 swap swap defaults 0 0 ##注释或删除
简书链接
END