Linux 下增加swap分区

环境:Linux EL4 +  Oracle 10g

 

1、检查当前的分区情况

使用free -m或cat /proc/swaps ):

[root@db2 root]# free -m

total       used       free     shared    buffers     cached
Mem:          1006         84        922          0         11         38
-/+ buffers/cache:         35        971
Swap:            0          0          0

 

2、增加交换分区文件及大小:

检查没有swap,下面就需要增加:

判定新交换文件的大小,将大小乘以1024来判定块的大小。例如,大小为64MB的交换文件的块大小为65536,在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小。

 

[root@db2 root]# dd if=/dev/zero of=/home/swap bs=1024 count=1024000

1024000+0 records in

1024000+0 records out

 

使用以下命令来设置交换文件:

[root@db2 root]# mkswap -c /home/swap

Setting up swapspace version 1, size = 1023996 KiB

 

3、启用交换分区文件:

要立即启用交换文件而不是在引导时自动启用,使用以下命令:

[root@db2 root]# swapon /home/swap

 

检查增加后的交换情况:

[root@db2 root]# free -m

 total       used       free     shared    buffers     cached

Mem:          1006        994         12          0          4        929

-/+ buffers/cache:         60        946

Swap:          999          0        999

 

要在引导时启用,编辑 /etc/fstab 文件来包含以下行(/home/swap               swap                    swap    defaults        0 0 ):

[root@db2 root]# cat /etc/fstab


LABEL=/                 /                       ext3    defaults        1 1      
LABEL=/boot             /boot                   ext2    defaults        1 2      none                    /dev/pts                devpts gid=5,mode=620 0 0      none                    /proc                   proc    defaults        0 0      none                    /dev/shm                tmpfs   defaults        0 0      LABEL=/usr              /usr                    ext3    defaults        1 2      /dev/sda5               swap                    swap    defaults        0 0      /dev/cdrom              /mnt/cdrom              iso9660 noauto,owner,kudzu,ro 0 0/dev/fd0                /mnt/floppy             auto    noauto,owner,kudzu 0 0   /home/swap               swap                    swap    defaults        0 0


系统下次引导时,它就会启用新建的交换文件         

再次检查添加后的情况:

[root@db2 oracledb]# free -m                                            

      

  total       used       free     shared    buffers     cachedMem:          1006        979         27          0          6        917-/+ buffers/cache:         54        952                                 Swap:          999          0        999