Linux的交换分区(swap),或则叫显存置换空间(swapspace),是c盘上的一块区域,可以是一个分区,也可以是一个文件,或则是她们的组合。
交换分区的作用是,当系统数学显存吃紧时,Linux会将显存中不常访问的数据保存到swap上,这样系统就有更多的化学显存为各个进程服务,而当系统须要访问swap上储存的内容时,再将swap上的数据加载到显存中,也就是常说的swapout和swapin。
使用swap必需要晓得它存在的缺点,便于判别何时使用交换分区。使用交换分区的益处其实就是可以一定程度的减轻显存空间紧张的问题。但是,因为CPU所读取的数据都来自于显存,交换分区则是储存在c盘上的,c盘的速率和显存比较上去慢了好几个数目级,假如不停的读写swap,这么对系统的性能肯定有影响,尤其是当系统显存很吃紧的时侯,读写swap空间发生的频度会很高,造成系统运行很慢。
交换分区大小的设置建议值:
创建交换分区须要有一块独立的分区,假如没有多余的分区时linux安装磁盘分区,可以用交换分区文件来取代。创建交换文件:
dd if=/dev/zero of=/swap bs=1MB count=2048
或
fallocate -l 2G /swap
#bs 字节为单位的块大小
#count 被复制的块数
验证交换文件大小:
du -sh /swap
改变文件的用户、组以及权限:
chown root:root /swap
chmod 600 /swap
低格文件为swap文件系统:
mkswap -L swap /swap
挂载交换分区:
swapon /swap
查看交换分区:
free -h
编辑/etc/fstab文件便于开机手动挂载:
/swap swap swap defaults 0 0
卸载交换分区:
swapoff /swap
内核参数vm.swappiness控制换出运行时显存的相对权重,参数值大小对怎样使用swap分区有很大联系。值越大,表示越积极使用swap分区,越小表示越积极使用化学显存。通常系统的默认值swappiness=60,表示显存使用率超过100-60=40%时开始使用交换分区。swappiness=0的时侯表示最大限度使用化学显存,之后才是swap空间;swappiness=100的时侯表示积极使用swap分区,并把显存上的数据及时搬运到swap空间(对于3.5之后的内核和RedHat2.6.32以后的内核linux移植,设置为0会严禁使用swaplinux系统下载,因而引起outofmemory,这些情况可以设置为1)。查看参数值:
cat /proc/sys/vm/swappiness
临时调整该值:
sysctl vm.swappiness=20
永久调整需编辑/etc/sysctl.conf文件linux安装磁盘分区,加入如下内容:
vm.swappiness=20
之后加载参数:
sysctl -p
swapon与swapoff命令分别用于开启或关掉交换空间(包括交换文件和交换分区)。假如须要清空交换空间,可以使用如下形式:
swapoff -a && swapon -a
# -a 参数表示包含 /etc/fstab 文件中所有设置为 swap 的设备
参考: