一、SWAP 概述
当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
二、SWAP管理
2.1 查看内存使用
[root@dave ~]# free -m total used free shared buffers cached Mem: 1954 1923 31 0 21 1345 -/+ buffers/cache: 555 1399 Swap: 1999 21 1978
2.2 查看当前swap 的使用
[root@dave ~]# swapon -s Filename Type Size Used Priority /dev/sda2 partition 2047992 22272 -1 [root@dave ~]# cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 2047992 22272 -1 [root@dave ~]#
swapon –s 等于 cat/proc/swaps
2.3 释放SWAP 空间
假设我们的系统出现了性能问题,我们通过vmstat命令看到有大量的swap,而我们的物理内存又很充足,那么我们可以手工把swap 空间释放出来。让进程去使用物理内存,从而提高性能。
[root@dave ~]# vmstat 1 5 procs -----------memory---------- ---swap-------io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 22272 32620 22032 1378312 0 0 33 38 0 41 1 296 0 0 0 0 22272 32612 22032 1378340 0 0 0 0 902 1627 0 95 0 0 0 0 22272 32612 22032 1378340 0 0 0 0 905 1636 1 8 91 0 0 0 0 22272 32612 22032 1378340 0 0 0 32 907 1616 0 6 94 0 0 0 0 22272 32612 22032 1378340 0 0 0 0 924 1651 0 8 92 0 0 [root@dave ~]# [root@dave ~]# free -m total used free shared buffers cached Mem: 1954 1923 31 0 21 1345 -/+ buffers/cache: 555 1399 Swap: 1999 21 1978
注意:free命令默认单位为k, -m 单位为M。 我们这里的swap使用了21M的空间。
2.4 启用swap分区
[root@dave ~]# swapon /dev/sda2
2.5 关闭swap 交换分区
[root@dave ~]# swapoff /dev/sda2 [root@dave ~]# swapon -s Filename Type Size Used Priority
(1)ext分区是否启用由mount及umount控制
(2)swap分区是否启动,由swapon及swapoff控制
三、创建交换分区
1、从虚拟机添加一个虚拟磁盘
2、用磁盘管理命令创建分区并更改ID
创建分区可以用n命令,更改ID用t命令
更改前图片:
更改图片:
3、创建SWAP分区
mkswap /dev/sdb1
效果图如下,注意记下UUID,这个号在修改/etc/fstab时会用到
4、激活SWAP分区
swapon /dev/sdb1
5、修改/etc/fstab,使SWAP可以启动时自动挂载
摘录网页:Linux 交换分区
参考网页:Linux如何创建交换分区