Swap分区:
在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
为何要实现swap设备的高速迁移:
由上面的描述中可知,当内存不足的时候,为了让后续的程序可以顺利运行,因此在内存中暂不使用的程序与数据会被挪到swap中,则swap是用硬盘来暂时放置内存中的信息,所有swap分区对磁盘的读写速度有一定的区别;在前面磁盘的格式中我们知道越是靠近外磁道的柱面性能就越好,因此在某些情况下我们就需要swap分区的高速迁移。
实验具体步骤:
#先查看硬盘中的分区情况:
[root@centos7 ~]#fdisk /dev/sda
。。。(中间已省略)
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2050047 1024000 83 Linux
/dev/sda2 2050048 206850047 102400000 83 Linux
/dev/sda3 206850048 215238655 4194304 82 Linux swap / Solaris
/dev/sda4 215238656 419430399 102095872 5 Extended
/dev/sda5 215240704 317640703 51200000 83 Linux
#可见磁盘中/dev/sda3为swap分区,现我们重新创建一个swap分区/dev/sda6。
[root@centos7 ~]#fdisk /dev/sda
。。。(中间已省略)
Command (m for help): n
All primary partitions are in use
Adding logical partition 6
First sector (317642752-419430399, default 317642752): 0
Value out of range.
First sector (317642752-419430399, default 317642752):
Using default value 317642752
Last sector, +sectors or +size{K,M,G} (317642752-419430399, default 419430399): +4G
Partition 6 of type Linux and of size 4 GiB is set
Command (m for help): t
Partition number (1-6, default 6): 6
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Command (m for help): w
。。。(中间已省略)
[root@centos7 ~]#partprobe
Error: Invalid partition table - recursive partition on /dev/sr0.
#设置一个4G大小的分区后改变其属性为Linux swap / Solaris,写入后让内核更新分区表。
[root@centos7 ~]#mkswap /dev/sda6.
Setting up swapspace version 1, size = 4194300 KiB
no label, UUID=9495cd58-6984-4b18-b04d-c6a0d150e939
#开始构建swap格式
vim /etc/fstab #将新建的分区写入文件
#格式为:
UUID=9495cd58-6984-4b18-b04d-c6a0d150e939 swap swap defaults 0 0
#启用swap
[root@centos7 ~]#swapon -a
#查看:
[root@centos7 ~]#swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 4194300 0 -1
/dev/sdb1 partition 8023436 0 -2
/dev/sda6 partition 4194300 0 -3
#此处我们新建的/dev/sda6的优先级是第三位,我们可以更改/etc/fstab来迁移。
UUID=9495cd58-6984-4b18-b04d-c6a0d150e939 swap swap defaults,pri=100 0 0
[root@centos7 ~]#swapoff /dev/sda6
[root@centos7 ~]#swapon /dev/sda6
#需要先关闭再开启才能生效
[root@centos7 ~]#swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 4194300 0 -1
/dev/sda6 partition 4194300 0 100
至此我们新添加的swap分区可以被率先利用到。
网友评论