linux下增加swap的大小这个算是很基础的东西了。不过上帝赐给了人类一件非常好的礼物是遗忘。诚然,像增加swap的大小这样基础的操作,也常常在用到的时候发现已经忘了怎么去弄。搞的每次都要再去Internet上去查。所以索引在博客里记录下,以便以后用时能直接手到掂来。

增加swap大小的方法有两种,一种是已经分过swap交换分区,不过分配不合理,所以可以通过增加swap文件来增加交换分区的大小;另一种方法是通过增加swap分区大小来增加swap的大小。

方法一、通过swap文件增加:

1、创建交换文件

1[root@gataway ~]# dd if=/dev/zero of=/tmp/mem.swap bs=1M count=4096
24096+0 records in
34096+0 records out
44294967296 bytes (4.3 GB) copied, 59.694 seconds, 71.9 MB/s

当然根据bs指定的大小不同,我们也可以通过下面的文件增加:

1dd if=/dev/zero of=/tmp/mem.swap bs=1M count=4096 (增加4G)2dd if=/dev/zero of=swapfile bs=1024 count=1048576  (增加1G)

2、查看当前分区的大小

1[root@gataway ~]# free -m
2             total       used       free     shared    buffers     cached
3Mem:           993        962         31          0          2        702
4-/+ buffers/cache:        257        736
5Swap:         2015          0       2015

3、格式转换并挂载

1[root@gataway ~]# mkswap /tmp/mem.swap
2Setting up swapspace version 1, size = 4294963 kB
3[root@gataway ~]# swapon /tmp/mem.swap

4、三种确认是否增加成功的方法

 1[root@gataway ~]# swapon -s
 2Filename                                Type            Size    Used    Priority
 3/dev/mapper/VolGroup00-LogVol01         partition       2064376 124     -1
 4/tmp/mem.swap                           file            4194296 0       -2
 5[root@gataway ~]# free -m
 6             total       used       free     shared    buffers     cached
 7Mem:           993        967         26          0          4        703
 8-/+ buffers/cache:        259        734
 9Swap:         6111          0       6111
10[root@gataway ~]# cat /proc/swaps
11Filename                                Type            Size    Used    Priority
12/dev/mapper/VolGroup00-LogVol01         partition       2064376 124     -1
13/tmp/mem.swap                           file            4194296 0       -2

以上不难看出,第一、三两种方法效果相同。linux/unix的一个奇妙之处也在此,很多命令和直接查看某些文件或更改某些文件的值,效果是一样的。

以上操作,在系统重启后,swap文件的大小又会变回原大小,我们可以在/etc/fstab里增加下面的配置,使其重启后,我们刚刚的配置仍然有效。

1/tmp/mem.swap             swap                    swap    defaults        0 0

如果想卸载掉上面的分区,可以通过swapoff完成

1[root@gataway ~]# swapoff /tmp/mem.swap

方法二、通过fdisk增加swap分区

该方法和方法一主要操作步骤大同小异。不过该方法要求硬件目前有未分配的空间。我们先通过fdisk新增分区

1fdisk  /dev/sda
2Command (m for help): n
3通过n新建分区,选择为主分区,分区ID为82,即swap分区。保存退出。接着对新建的分区进行格式化并挂载
4mkswap /dev/sda4
5swapon /dev/swap

完成后,参照方法一里的查看方法进行查看确认。新增完成后,在/etc/fstab里新增如下配置

1/dev/sda4             swap                    swap    defaults        0 0