注:来自Linux系统管理_磁盘分区和格式化的扩展
Linux系统管理_磁盘分区和格式化:
思路:
第一步:首先查看当前swap分区的大小:free -m
第二步:新建磁盘分区指定状态为82,即为swap分区格式:fdisk命令
第三步:重读磁盘分区:partprobe命令
第四步:格式化swap分区:mkswap命令
第五步:手动挂载和卸载swap分区:swapon/off
第六步:设置开机自动挂载swap分区:swapon -a
具体操作:
第一步:首先查看当前swap分区的大小:free -m
[root@localhost ~]# free -m total used free shared buffers cachedMem: 495 285 209 0 18 167-/+ buffers/cache: 99 395Swap: 2047 0 2047 [root@localhost ~]# fdisk -l /dev/sda Disk /dev/sda: 64.4 GB, 64424509440 bytes255 heads, 63 sectors/track, 7832 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 25 200781 83 Linux/dev/sda2 26 2575 20482875 83 Linux/dev/sda3 2576 3850 10241437+ 83 Linux/dev/sda4 3851 7832 31985415 5 Extended/dev/sda5 3851 4111 2096451 82 Linux swap / Solaris
第二步:新建磁盘分区指定状态为82,即为swap分区格式:fdisk命令
[root@localhost ~]# fdisk /dev/sda The number of cylinders for this disk is set to 7832.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): nFirst cylinder (4112-7832, default 4112):Using default value 4112Last cylinder or +size or +sizeM or +sizeK (4112-7832, default 7832): +1G Command (m for help): p Disk /dev/sda: 64.4 GB, 64424509440 bytes255 heads, 63 sectors/track, 7832 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 25 200781 83 Linux/dev/sda2 26 2575 20482875 83 Linux/dev/sda3 2576 3850 10241437+ 83 Linux/dev/sda4 3851 7832 31985415 5 Extended/dev/sda5 3851 4111 2096451 82 Linux swap / Solaris/dev/sda6 4112 4234 987966 83 Linux Command (m for help): tPartition number (1-6): 6Hex code (type L to list codes): 82Changed system type of partition 6 to 82 (Linux swap / Solaris) Command (m for help): wThe 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.Syncing disks. [root@localhost ~]# ls /dev/sd*/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5
第三步:重读磁盘分区:partprobe命令
[root@localhost ~]# partprobe[root@localhost ~]# ls /dev/sd*/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 /dev/sda6
第四步:格式化swap分区:mkswap命令
[root@localhost ~]# mkswap /dev/sda6Setting up swapspace version 1, size = 1011671 kB
第五步:手动挂载和卸载swap分区:swapon/off
[root@localhost ~]# free -m total used free shared buffers cachedMem: 495 287 208 0 18 168-/+ buffers/cache: 99 395Swap: 2047 0 2047[root@localhost ~]# swapon /dev/sda6[root@localhost ~]# free -m total used free shared buffers cachedMem: 495 287 207 0 18 168-/+ buffers/cache: 100 395Swap: 3012 0 3012[root@localhost ~]# swapon -s //查看都有哪些交换分区挂载Filename Type Size Used Priority/dev/sda5 partition 2096440 0 -1/dev/sda6 partition 987956 0 -3[root@localhost ~]# swapoff /dev/sda6 //卸载swap分区[root@localhost ~]# swapon -sFilename Type Size Used Priority/dev/sda5 partition 2096440 0 -1
第六步:设置开机自动挂载swap分区
[root@localhost ~]# cat /etc/fstabLABEL=/ / ext3 defaults 1 1LABEL=/data /data ext3 defaults 1 2LABEL=/boot /boot ext3 defaults 1 2tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0LABEL=SWAP-sda5 swap swap defaults 0 0[root@localhost ~]# vim /etc/fstab //编辑/etc/fstab文件,增加下面内容[root@localhost ~]# cat /etc/fstab | grep sda6 //将下面的信息添加到/etc/fstab文件/dev/sda6 swap swap defaults 0 0 [root@localhost ~]# swapon -sFilename Type Size Used Priority/dev/sda5 partition 2096440 0 -1[root@localhost ~]# swapon -a //用swapon -a来重读/etc/fstab文件,使新swap分区挂载[root@localhost ~]# swapon -s //再次用swapon -s查看的时候,新的swap分区sda6成功挂载Filename Type Size Used Priority/dev/sda5 partition 2096440 0 -1/dev/sda6 partition 1959888 0 -5[root@localhost ~]#
扩展:swap分区开机自动挂载的第二种方式:
第一步:修改/etc/rc.d/rc.local文件
第二步:将swapon /dev/sda6写入这个脚本当中,那么开机就可以自动挂载交换分区/dev/sda6了!!!
注:用swapon -a和reboot命令来实现重读/etc/fstab文件,实现开机自动挂载。
普通分区重读/etc/fstab文件的时候用mount -a,swap分区重读/etc/fstab文件的时候,
使用swapon -a