交换分区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 |