Swappiness详解

本文详细介绍了Linux系统中的Swappiness属性,这是一个控制内核如何平衡页面交换与页面缓存的参数。默认值为60,但根据系统需求,如数据库服务器推荐值为0或10,桌面系统推荐值为10。文章提供了检查和修改Swappiness值的方法,并讨论了调整该参数对系统性能的影响。此外,还简要概述了Linux Swap分区的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 讲解一

当Linux系统耗尽物理内存时,非活动页面将从RAM移动到交换空间。

Swappiness是一个Linux内核属性,用于设置将页面从物理内存交换到交换空间以及从页面缓存中删除页面之间的平衡。它基本上定义了系统使用交换空间的频率。

本文介绍如何更改Linux系统上的swappiness值。

检查Swappiness值
要检查系统上的当前swappiness值,请使用以下cat命令:

cat /proc/sys/vm/swappiness

输出:

60

大多数Linux发行版上的默认swappiness值为60:

虽然60的swappiness值适合大多数用户,但在某些情况下,您可能需要设置较低的值。

您可以用来确定swappiness值的另一个命令是sysctl:

sysctl vm.swappiness

输出:

vm.swappiness = 60

改变Swappiness值
Swappiness可以具有0到100之间的值。值0指示内核积极地避免尽可能长时间地交换。值100将积极地将进程交换出物理内存。

较低的值将使内核尽可能避免交换,而较高的值意味着内核将尝试更积极地使用交换空间。

访问交换内存比直接访问物理内存要慢得多。swappiness参数的较低值很可能会提高整体系统性能。对于常规桌面安装,建议值为10。对于大多数数据库服务器,建议使用swappiness值0或1。

最佳swappiness值取决于您的系统工作负载和RAM内存的大小。您应该以小增量调整此参数以查找最佳值。

例如,要在运行时将swappiness值设置为10,请以root sudo用户身份键入以下命令:

sudo sysctl vm.swappiness=1

要使swappiness参数在重新启动后保持不变/etc/sysctl.conf,请使用文本编辑器打开文件:

sudo nano /etc/sysctl.conf

找到vm.swappiness参数并更改其值。如果此参数不存在,请将以下行附加到该文件:

/etc/sysctl.conf文件中内容

vm.swappiness=1
  • 讲解二

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

1.1 Linux的swap原理
1、 控制swap使用的系统参数:swappiness

Swappiness:表示使用物理内存限度
Swappiness为0(100%-0=100%)表示物理内存使用到100%的时候使用swap空间
Swappiness为60(100%-60%=40%)表示物理内存使用到40%的时候使用swap空间

如果swappiness设置太大(内存的速度会比磁盘快很多),这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。

2、 Linux默认swappiness

# cat /proc/sys/vm/swappiness

60

默认为60,也就是说当物理内存使用到40%的时候开始使用swap。

2 解决
2.1 调整swappiness参数
2.1.1 临时调整

# sysctl vm.swappiness=10
vm.swappiness = 10
# cat /proc/sys/vm/swappiness
10

2.1.2 久调整
1、设置

# cat /etc/sysctl.conf
vm.swappiness=10

2、激活

#sysctl -p
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值