交换分区swap,意思是“交换”、“实物交易”,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。
查看 已存在的swap分区:
1
2
3
4
5
|
[root@iZ94hzx4xerZ bin]
# swapon -s
Filename Type Size Used Priority
/mnt/swap
file
10232 10184 -1
|
创建用于交换分区的文件:
1
2
3
4
5
6
7
|
[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倍。
设置交换分区文件:
1
2
3
4
5
6
7
8
9
|
[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
|
立即启用交换分区文件:
1
|
[root@iZ94hzx4xerZ mnt]
# swapon /mnt/swap
|
设置开机时自启用swap分区:
需要修改文件/etc/fstab中的swap行。
添加 /mnt/swap swap swap defaults 0 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#
# /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查看效果:
1
2
3
4
5
6
7
8
9
10
11
|
[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分区:
1
|
[root@iZ94hzx4xerZ bin]
# swapon /mnt/swap
|