Linux SWAP 交换分区配置说明
一.SWAP 说明
1.1 SWAP 概述
当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
这个是SWAP 交换分区的作用。实际上,我们更关注的应该是SWAP分区的大小问题。 设置多大才是最优的。
一般来说可以按照如下规则设置swap大小:
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。
1.2 系统在什么情况下才会使用SWAP?
实际上,并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,什么时候使用是由swappiness 参数值控制。
该值默认值是60.
1.3 如何修改swappiness参数?
--临时性修改:
这里我们的修改已经生效,但是如果我们重启了系统,又会变成60.
--永久修改:
在/etc/sysctl.conf 文件里添加如下参数:
或者:
1.1 SWAP 概述
当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
这个是SWAP 交换分区的作用。实际上,我们更关注的应该是SWAP分区的大小问题。 设置多大才是最优的。
一般来说可以按照如下规则设置swap大小:
- 4G以内的物理内存,SWAP 设置为内存的2倍。
- 4-8G的物理内存,SWAP 等于内存大小。
- 8-64G 的物理内存,SWAP 设置为8G。
- 64-256G物理内存,SWAP 设置为16G。
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。
1.2 系统在什么情况下才会使用SWAP?
实际上,并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,什么时候使用是由swappiness 参数值控制。
[root@localhost ~]# cat /proc/sys/vm/swappiness 60
该值默认值是60.
- swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,
- swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。
1.3 如何修改swappiness参数?
--临时性修改:
[root@localhost ~]# cat /proc/sys/vm/swappiness 30 [root@localhost ~]# sysctl vm.swappiness=10 vm.swappiness = 10 [root@localhost ~]# [root@localhost ~]# cat /proc/sys/vm/swappiness 10
这里我们的修改已经生效,但是如果我们重启了系统,又会变成60.
--永久修改:
在/etc/sysctl.conf 文件里添加如下参数:
vm.swappiness=10
或者:
[root@localhost ~]# echo 'vm.swappiness=10'>> /etc/sysctl.conf
保存,重启,就生效了。