优化swap

  • 实验背景:
    一般来说,机械硬盘磁道从外向内从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
如何挂载文件设备,可以参考http://www.jianshu.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

你可能感兴趣的:(优化swap)