如何设置LinuxSWAP交换分区大小?-创新互联-成都快上网建站

如何设置LinuxSWAP交换分区大小?-创新互联

当Linux系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。

创新互联公司是一家专业提供相山企业网站建设,专注与网站设计、成都网站建设H5技术、小程序制作等业务。10年已为相山众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

以前几乎所有Linux 系统管理的书上都推荐设置交换分区大小为内存的2倍。这些建议到了现在就是那么适用了,现在的服务器动不动就是 16GB/32GB甚至256GB 内存,难道相应的交换分区也要扩大到 32GB/64GB/512GB?

那么swap分区到底设置成多大才最优?
首先看下Redhat官方的文档中关于swap分区大小设置的建议

物理内存-------建议的交换空间---------如果开启休眠功能建议的交换空间
⩽ 2GB-----------内存的2倍----------------内存的3倍
2GB – 8GB----等于内存大小-------------内存的2倍
8GB – 64GB---至少4G--------------------内存的1.5倍
64GB------------至少4G--------------------不建议使用休眠

因此,一般来说可以按照如下规则设置swap大小:

4G以内的物理内存,SWAP 设置为内存的2倍,不超过4G。

4-8G的物理内存,SWAP 等于内存大小。

8-64G 的物理内存,SWAP 设置为8G。

64-256G物理内存,SWAP 设置为16G。

实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。

系统在什么情况下才会使用SWAP?
实际上,并不是等所有的物理内存都消耗完毕之后,才去使用swap的空间,什么时候使用是由swappiness 参数值控制。

cat /proc/sys/vm/swappiness

30
————————————————
该值在centos 7上默认值是30,在Centos 6上是60,可以看出新版本的linux已经在根据内存大小趋势做出一定的调整。
————————————————

swappiness=0的时候表示大限度使用物理内存,然后才是 swap空间,

swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

现在服务器的内存动不动就是上百G,所以我们可以把这个参数值设置的低一些,让操作系统尽可能的使用物理内存,降低系统对swap的使用,从而提高系统的性能。特别是对于性能要求较高的数据库服务器,要求全部使用内存。

如何查看系统的SWAP分区?
使用free命令即可。

如何修改swappiness参数?
临时性修改:
sysctl vm.swappiness=10

vm.swappiness = 10

cat /proc/sys/vm/swappiness

10

这里我们的修改已经生效,但是如果我们重启了系统,又会变成系统默认值.

永久修改:
在/etc/sysctl.conf 文件里添加如下参数:

vm.swappiness=10

然后重启系统。

此文为Redhat推荐swap大小设置,以下为根据工作实际推荐的swap设置:

物理内存 --------------建议的交换空间
⩽ 4GB------------------内存的2倍,不超过4G  
4GB – 8GB------------等于内存大小       
8GB – 64GB----------8G
\> 64GB----------------16G

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:如何设置LinuxSWAP交换分区大小?-创新互联
当前网址:http://kswjz.com/article/ccihsj.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流