在linux上增加swap交换空间

在安装LINUX的时候开始就要建一个SWAP,最好是内存的2倍。如果物理内存超大(大于32G),建议为内存的一半或者为8000Mb。

如果在使用过程中遇到交换空间不够,可以通过以下的方法来添加:

1、检查当前的分区情况(使用free -m或cat /proc/swaps ):

root@h3cdb01-ts bin]# free -m

total used free shared buffers cached

Mem: 7973 7935 38 0 9 7646

-/+ buffers/cache: 279 7694

Swap: 4000 1171 2829

这里交换空间大小为4000M, 想扩大为8000M。

 

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

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

count的计算公式: count=SIZE*1024 (size以MB为单位)

[root@h3cdb01-ts home]# dd if=/dev/zero f=/test/swap01 bs=1024 count=4096000

4096000+0 records in

4096000+0 records out

 

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

[root@h3cdb01-ts test]# mkswap /test/swap01

Setting up swapspace version 1, size = 4194299 kB

 

3、启用交换分区文件:

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

[root@h3cdb01-ts test]# free -m

total used free shared buffers cached

Mem: 7973 7935 38 0 4 7615

-/+ buffers/cache: 315 7658

Swap: 4000 1160 2839

[root@h3cdb01-ts test]# swapon /test/swap01 (启动交换区的命令)

[root@h3cdb01-ts test]# free -m

total used free shared buffers cached

Mem: 7973 7932 41 0 5 7610

-/+ buffers/cache: 316 7657

Swap: 8000 1160 6839

 

(下面的方法没有经过测试,如果要真正使用,请先测试)

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

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

LABEL=/ / ext3 defaults 1 1

LABEL=/boot /boot ext2 defaults 1 2 /home/swap swap swap defaults 0 0

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 cached

Mem: 1006 979 27 0 6 917

-/+ buffers/cache: 54 952

Swap: 999 0 999

[root@db2 oracledb]#

posted on 2013-11-14 15:52  I_TEST  阅读(226)  评论(0)    收藏  举报

导航