Swap 分区的2种方式 详解与例子

安装完Linux系统后,swap分区太小怎么办,怎么可以扩大Swap分区呢?有两个办法,一个是从新建立swap分区,一个是增加swap分区。下面介绍这两种方法:
第一您必须有root权限,过程中一定要很小心,一不小心就破坏了整个硬盘的数据,执行下面的过程之前您需要三思而行,错误操作后的后果由执行者自己承担。
新建swap分区
1.以root身份进入控制台,输入
 # swapoff -a          #停止交换分区
2. 用fdisk命令加swap分区的盘符,(例:# fdisk /dev/sdb)剔除swap分区,输入d删除swap分区,然后再n添加分区(添加时硬盘必须要有可用空间,然后再用t将新添的分区id改为 82(linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)。
3. # mkswap /dev/sdb2       #格式化swap分区,这里的sdb2要看您加完后p命令显示的实际分区设备名
4.# swapon /dev/sdb2      #启动新的swap分区
5.为了让系统启动时能自动启用交换分区,可以编辑/etc/fstab,加入下面一行
/dev/sdb2       swap        swap        defaults        0 0  
6.完成
增加Swap分区
1.创建交换分区的文件:增加1G大小的交换分区,则命令写法如下,其中的count等于想要的块大小。
# dd if=/dev/zero of=/home/swapfile bs=1M count=1024
2.设置交换分区文件:
# mkswap /home/swapfile   #建立swap的文件系统
3.立即启用交换分区文件:
# swapon /home/swapfile   #启用swap文件
4.使系统开机时自启用,在文件/etc/fstab中添加一行:
/home/swapfile swap swap defaults 0 0
5.完成
 
 
***********************************************************************************************************
第一种方法:添加交换分区的方式
实现如下:
1:查看我原来的交换分区的大小:
使用swapon 命令:
[root@mail /]# swapon -s
Filename              Type           Size    Used    Priority
/dev/sda3              partition       522104  0       -1      
 
**********我现有的交换分区大小为512M*************
 
2:添加一块交换分区
使用fdisk命令
[root@mail /]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
 
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
 
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p  
Partition number (1-4): 1
First cylinder (1-261, default 1): 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): 
Using default value 261
 
Command (m for help): p
 
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         261     2096451   83  Linux
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): l
 
0  Empty           1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot   
1  FAT12           24  NEC DOS         81  Minix / old Lin bf  Solaris        
2  XENIX root      39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
3  XENIX usr       3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
4  FAT16 32M      40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
5  Extended        41  PPC PReP Boot   85  Linux extended  c7  Syrinx         
6  FAT16           42  SFS             86  NTFS volume set da  Non-FS data    
7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e1  DOS access     
b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor      
e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        
f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT        
10  OPUS            55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      
14  Hidden FAT16   SpeedStor       a9  NetBSD          f4  SpeedStor      
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid auto
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fe  LANstep        
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid ff  BBT            
1c  Hidden W95 FAT3 75  PC/IX          
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82(Linux swap)
Command (m for help): p
 
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         261     2096451   82  Linux  swap            #交换分区格式
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.
 
     ******交换分区已经成功添加完成。********
 
3:格式化swap交换分区,建立交换文件系统
使用命令:mkswap
[root@mail /]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 2146758 kB
4:启用交换分区:
使用命令:swapon
[root@mail /]# swapon /dev/sdb1
5:查看新添的交换分区是否存在了:
执行命令:swapon –s
[root@mail /]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/sda3                               partition       522104  0       -1
/dev/sdb1                               partition       2096440 0       -2
 
红色部分是原来的交换分区大小。
蓝色部分是现在新添的交换分区大小。
6:编辑/etc/fstab文件,使交换分区在引导时启用
/deb/sdb1                    swap              swap      defaults          0     0 

你可能感兴趣的:(Linux)