交换分区swap,意思是“交换”、“实物交易”,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。

查看 已存在的swap分区:

[root@iZ94hzx4xerZ bin]# swapon -s 

Filename Type Size Used Priority 

/mnt/swap file 10232 10184 -1 

创建用于交换分区的文件:

[root@iZ94hzx4xerZ bin]# dd if=/dev/zero of=/mnt/swap bs=1024 count=10240 

10240+0 records in 

10240+0 records out 

10485760 bytes (10 MB) copied, 0.237175 s, 44.2 MB/s 

bs=1024 指的是创建swap分区的初始大小,count指的是swap最大空间,推荐设置为内存的1-2倍。

设置交换分区文件:

[root@iZ94hzx4xerZ mnt]# mkswap /mnt/swap 

mkswap: /mnt/swap: warning: don't erase bootbits sectors 

on whole disk. Use -f to force. 

Setting up swapspace version 1, size = 2044 KiB 

no label, UUID=e6f0ae06-0e6b-4fce-8c18-d5a247b40259 

立即启用交换分区文件:

[root@iZ94hzx4xerZ mnt]# swapon /mnt/swap 

设置开机时自启用swap分区:

需要修改文件/etc/fstab中的swap行。

添加 /mnt/swap swap swap defaults 0 0

# 

# /etc/fstab 

# Created by anaconda on Thu Aug 14 21:16:42 2014 

# 

# Accessible filesystems, by reference, are maintained under '/dev/disk' 

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 

# 

UUID=94e4e384-0ace-437f-bc96-057dd64f42ee / ext4 defaults,barrier=0 1 1 

tmpfs /dev/shm tmpfs defaults 0 0 

devpts /dev/pts devpts gid=5,mode=620 0 0 

sysfs /sys sysfs defaults 0 0 

proc /proc proc defaults 0 0 

/mnt/swap swap swap defaults 0 0 

设置后可以执行free -m命令或者top查看效果:

[root@iZ94hzx4xerZ bin]# top 

top - 20:33:11 up 4:53, 2 users, load average: 0.00, 0.00, 0.00 

Tasks: 104 total, 1 running, 88 sleeping, 15 stopped, 0 zombie 

Cpu(s): 0.3%us, 0.2%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st 

Mem: 1920740k total, 1845096k used, 75644k free, 38716k buffers 

Swap: 10232k total, 10184k used, 48k free, 260692k cached 

删除swap分区:

[root@iZ94hzx4xerZ bin]# swapon /mnt/swap