实验背景:
一般来说,机械硬盘磁道从外向内从0开始顺序编号。由于径向长度不一样,所以,线速度也不一样。外圈的线速度较内圈的线速度大,即同样的转速下,外圈在同样时间段里,划过的圆弧长度要比内圈 划过的圆弧长度大。因此读写速度相对也较快。我们利用这个特点,提高一下swap的速度,从而提高系统性能。
当然,固态硬盘就不需要考虑扇区线速度什么的了~直接搞就是了实验环境:
CentOS6.8、新硬盘/dev/sdb-
实验内容:
- 创建交换分区或者文件
- 使用mkswap创建文件系统
- 在/etc/fstab文件中添加适当的条目
- 使用swapon -a 激活swap空间
-
实验命令:
-
fdisk /dev/sdb
管理分区 -
mkswap /dev/sdb1
创建swap类型文件系统 -
vim /etc/fstab
配置/etc/fstab - swapon 管理swap
- -a:激活所有的交换分区;
- -p PRIORITY:指定优先级
- -s 查看
-
swapoff 禁用
1、划分分区
对硬盘/dev/sdb划分一个分区,扇区选择从第一个柱面开始,大小为2G,并设置Hex code为82(Linux swap / Solaris)。
[root@CentOS6 ~]#fdisk /dev/sdb
...
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-13054, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054): +2G
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
2、格式化分区
对分区格式化成为swap格式
[root@CentOS6 ~]#mkswap /dev/sdb1
Setting up swapspace version 1, size = 2104476 KiB
no label, UUID=568f11a9-b7f8-46e4-8cd3-ffe1ae580591
[root@CentOS6 ~]#blkid
/dev/sda1: UUID="21e638ff-1075-43f1-85f9-295a6e5478a5" TYPE="ext4"
/dev/sda2: UUID="6baffe84-ec5a-4ea1-968a-7066a069e118" TYPE="ext4"
/dev/sda3: UUID="ad4301e6-44a9-4494-81fc-47d69461ccf8" TYPE="ext4"
/dev/sda5: UUID="895a55d3-407d-4c1a-9034-9ed6550b8338" TYPE="swap"
/dev/sdc1: LABEL="/mnt/sdc1" UUID="207b08b2-555d-4a4b-a128-3395b8c3a3b1" TYPE="ext2"
/dev/sdc2: UUID="6b74513a-7e18-4293-98c1-4a544400748d" TYPE="ext4"
/dev/sdc3: UUID="1c3d9f26-676e-4129-95a9-4dbdbf6e5f49" SEC_TYPE="ext2" TYPE="ext3"
/dev/loop0: UUID="67047989-db3c-46cb-b5c8-b21129b76042" TYPE="ext4"
/dev/sdb1: LABEL="swap-sdb1" UUID="568f11a9-b7f8-46e4-8cd3-ffe1ae580591" TYPE="swap"
3、配置/etc/fstab文件
设置swap的优先级为100(默认从-1开始,值越大越优先)
格式:UUID=568f11a9-b7f8-46e4-8cd3-ffe1ae580591 swap swap defaults,pri=100 0 0
[root@CentOS6 ~]#vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May 17 12:54:23 2017
#
# 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=6baffe84-ec5a-4ea1-968a-7066a069e118 / ext4 defaults 1 1
UUID=ad4301e6-44a9-4494-81fc-47d69461ccf8 /app ext4 defaults 1 2
UUID=21e638ff-1075-43f1-85f9-295a6e5478a5 /boot ext4 defaults 1 2
UUID=895a55d3-407d-4c1a-9034-9ed6550b8338 swap swap defaults 0 0
UUID=568f11a9-b7f8-46e4-8cd3-ffe1ae580591 swap swap defaults,pri=100 0 0
/app /mnt/app none bind 0 0
//172.17.250.142/winshare /mnt/win cifs defaults,username=test,password=test 0 0
/app/partfile /mnt/part ext4 loop 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
4、启用swap
[root@CentOS6 ~]#swapon -a
5、查看swap
[root@CentOS6 ~]#swapon -s
Filename Type Size Used Priority
/dev/sda5 partition 2047996 0 -1
/dev/sdb1 partition 2104476 0 100
[root@CentOS6 ~]#free
total used free shared buffers cached
Mem: 1004112 533752 470360 2356 30880 176968
-/+ buffers/cache: 325904 678208
Swap: 4152472 0 4152472
6、补充
如果没有新硬盘,而硬盘分区已经不够,这时可以考虑用文件来作为swap
如何挂载文件设备,可以参考//www.greatytc.com/p/95583740b5cb
命令如下:
dd if=/dev/zero of=/app/partfile bs=1M count=1024
mkswap /app/partfile
blkid /app/partfile
vim /etc/fstab
/app/partfile swap swap defaults 0 0
swapon -a