Linux Swap空间利用率过高怎么解决

什么是swap?

swap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合。

简单点说,当系统物理内存吃紧时,Linux会将内存中不常访问的数据保存到swap上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问swap上存储的内容时,再将swap上的数据加载到内存中,这就是我们常说的swap out和swap in。

为什么需要swap?

要回答这个问题,就需要回答swap给我们带来了哪些好处。

对于一些大型的应用程序(如LibreOffice、video editor等),在启动的过程中会使用大量的内存,但这些内存很多时候只是在启动的时候用一下,后面的运行过程中很少再用到这些内存。有了swap后,系统就可以将这部分不这么使用的内存数据保存到swap上去,从而释放出更多的物理内存供系统使。

很多发行版(如ubuntu)的休眠功能依赖于swap分区,当系统休眠的时候,会将内存中的数据保存到swap分区上,等下次系统启动的时候,再将数据加载到内存中,这样可以加快系统的启动速度,所以如果要使用休眠的功能,必须要配置swap分区,并且大小一定要大于等于物理内存。

在某些情况下,物理内存有限,但又想运行耗内存的程序怎么办?这时可以通过配置足够的swap空间来达到目标,虽然慢一点,但至少可以运行。

虽然大部分情况下,物理内存都是够用的,但是总有一些意想不到的状况,比如某个进程需要的内存超过了预期,或者有进程存在内存泄漏等,当内存不够的时候,就会触发内核的OOM killer,根据OOM killer的配置,某些进程会被kill掉或者系统直接重启(默认情况是优先kill耗内存最多的那个进程),不过有了swap后,可以拿swap当内存用,虽然速度慢了点,但至少给了我们一个去debug、kill进程或者保存当前工作进度的机会。

如果看过Linux内存管理,就会知道系统会尽可能多的将空闲内存用于cache,以加快系统的I/O速度,所以如果能将不怎么常用的内存数据移动到swap上,就会有更多的物理内存用于cache,从而提高系统整体性能。

swap的缺点?

上面介绍了swap的优点,那swap的缺点呢?swap是存放在磁盘上的,磁盘的速度和内存比较起来慢了好几个数量级,如果不停的读写swap,那么对系统的性能肯定有影响,尤其是当系统内存很吃紧的时候,读写swap空间发生的频率会很高,导致系统运行很慢,像死了一样,这个时候添加物理内存是唯一的解决办法。

由于系统会自动将不常用的内存数据移到swap上,对桌面程序来说,有可能会导致最小化一个程序后,再打开时小卡一下,因为需要将swap上的数据重新加载到内存中来。

到底要不要swap?

上面介绍了什么是swap以及它们的优缺点,那么到底要不要配置swap呢?答案是:看情况。

下面分别讨论内存不够用、内存勉强够用和内存很充裕这三种情况下服务器和桌面环境对swap的选择。

内存不够用

不管是桌面还是服务器,当物理内存明显不够用,而又想跑程序的话,添加swap是唯一的选择,慢点总比不能工作强。

内存勉强够用

建议配置swap,这样内核会将不常用的数据从内存移到swap上,从而有更多的物理内存供系统调用,提升系统性能,同时也避免因偶尔的物理内存不够造成进程异常退出,提升系统稳定性,但对服务器来说,一定要限制或者监控swap空间的使用情况,当出现swap空间使用超预期或者swap in/out频繁时,要及时采取措施,不然对性能影响很大

内存充裕

理论上来说,如果物理内存足够多并且不需要休眠功能,那swap就没什么用,可关键问题是我们很难保证物理内存在任何情况下都够用,因为总有意想不到的情况发生,比如某些进程耗内存超预期,服务器压力超预期,内存泄漏等。

目前,我们是明显内存不够用了,是什么导致内存不够用了呢?为什么mysql会直接导致服务器内存不够了

那我们的mysql的服务器为什么会发生swap呢?

假设我们的物理内存是16G,swap是4G。如果MySQL本身已经占用了12G物理内存, 而同时其他程序或者系统模块又需要6G内存,这时候操作系统就可能把MySQL所拥有的一部分地址空间映射到swap上去。

说白了,就是系统认为你mysql占用的空间太大了,不允许你搞特殊,必须腾出空间让那个我的其它必要的进程区使用内存,所以你就去比较慢的swap去玩吧!

而mysql中占内存最大的就是innodb_buffer_pool_size了,所以第一时间应考虑到这个值是不是设置的不合理?

MySQL的内存消耗分为:

1.会话级别的内存消耗:如sort_buffer_size等,每个会话都会开辟一个sort_buffer_size来进行排序操作

2.全局的内存消耗:例如:innodb_buffer_pool_size等,全局共享的内存段

这也是我觉得我们DBA不专业的地方,并没有考虑第一种情况,去查看回话级别的内存消耗情况,而是直接跟我说要调小innodb_buffer_pool_size

InnoDB的缓冲池缓存什么?有什么用?设置多大合适呢?

缓存表数据与索引数据,把磁盘上的数据加载到缓冲池,避免每次访问都进行磁盘IO,起到加速访问的作用。

MySQL的并发性能与Buffer Pool所分配的内存大小成正比,分配的内存越大,其并发性能越好。是否应该将所有99%的机器内存都分配给Buffer Pool呢?

当然不是!先不说操作系统内核也需要几个G内存,MySQL 除了 Buffer Pool 还有很多别的内存数据结构呢,这些都是需要内存的,所以说,上面的想法是绝对不行的!

比较合理的比例,应该是 Buffer Pool 的内存大小占机器总内存的 50% ~ 60%。

可以通过show engine innodb status\G; 查看命中情况. 当命中没达到97%以上,都可以考虑加内存,当然这个和业务也有关例如对一个master的写入量大,读少就是特例.

其它情况如果没达到97%以上,对于读取多的情况,如果没达到98%以上,都说明buffer不够.可以扩. 再从另一方面来讲如果给分了20%的内存命中都能达到100%了,而且还有大量的free page那说明,那就够用了,另外也可以跟据free page去算一下可以再减少点内存. 把那些内存用到别用呢

以上就是Linux Swap空间利用率过高怎么解决的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/123705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月26日 21:20:11
下一篇 2025年11月26日 21:23:52

相关推荐

  • 小米手机怎么安装币安

    在数字经济浪潮中,加密资产的交易平台成为了连接个人与全球金融脉络的重要枢纽。许多用户渴望在便捷的移动设备上管理这些数字财富,而小米手机因其卓越的性能和广泛的用户基础,自然成为了首选。然而,将binance(币安)这样的专业级应用部署到您的爱机上,有时并不像在应用商店中点击“安装”那样简单直观。这其中…

    好文分享 2025年12月8日
    000
  • 华为能装币安吗?华为手机怎么安装币安

    华为能装币安吗?华为手机怎么安装币安?华为设备持有者,在尝试获取和使用币安(binance)应用程序时所面临的普遍困境。由于某些区域的监管政策、应用商店的限制或特定机型的兼容性考量,用户可能无法直接通过官方应用商店下载币安。面对这样的情况,了解替代的安装途径和操作流程变得尤为重要。 理解APK安装机…

    好文分享 2025年12月8日
    000
  • 安蒂尔(Antier)用Stablecoin Raas革新汇款:跨境支付的新时代

    安提埃(antier)正引领跨境支付费用的变革,通过将稳定汇款(raas)整合进其加密新银行解决方案中,实现金融操作的新突破。 安蒂尔(Antier)利用Stablecoin Raas革新汇款:开启跨境支付新时代 安提埃(Antier)站在跨境支付转型的最前线,其推出的稳定汇款即服务(RAAS)已无…

    2025年12月8日
    000
  • 欧易下载官方入口 欧易怎么下

    您可以通过欧易官网或应用商店下载安装欧易APP,具体步骤如下:1.访问欧易官网并选择设备类型下载APK或iOS版本;2.Android用户需允许未知来源安装或通过Google Play下载;3.iOS用户点击跳转App Store或使用TestFlight安装;4.也可直接在应用商店搜索“OKX”并…

    2025年12月8日
    000
  • 币安APP官方正版安全链接 币安官方APP正版v2.105.3安装入口

    它更是一个庞大的生态系统,为用户提供全方位的数字资产服务。从现货交易到期货交易,从杠杆交易到期权交易,币安涵盖了几乎所有主流的数字资产交易方式。此外,币安还提供诸如币安宝、流动性挖矿、新币挖矿等多种理财产品,帮助用户实现数字资产的增值。 币安 Binance 交易所 尤其注重用户体验,其简洁明了的界…

    2025年12月8日
    000
  • 火币在线入口 火币app下载教程最新版

    火币App下载教程最新版如下:步骤一,访问火币官网,确认网址正确性并选择所在地区的官方网站;步骤二,找到App下载入口,根据手机操作系统选择Android版或iOS版;步骤三,选择下载方式,包括扫描二维码、直接下载安装包或跳转到应用商店下载;步骤四,安装App,若为安装包下载需允许安装未知来源应用,…

    2025年12月8日
    000
  • 币安Binance官方APP最新版 币安BinanceAPP官方最新版入口

    数字货币的世界日新月异,选择一个安全、可靠、便捷的交易平台至关重要。币安(Binance)作为全球领先的数字资产交易平台,凭借其卓越的安全性、丰富的币种选择、流畅的用户体验,赢得了全球数百万用户的信赖。为了确保您能够访问到官方最新版本的币安APP,并享受到最完善的功能和服务,我们为您提供以下官方入口…

    2025年12月8日
    000
  • 易欧交易所在线入口 易欧交易所app下载

    要安全访问易欧交易所并下载App进行交易,需通过官方渠道找到正确入口并完成账户设置。1. 通过官方社交媒体或可信导航网站验证并进入易欧交易所官网;2. 注册或登录账户后浏览市场并进行交易;3. 在官网首页找到App下载入口,根据手机系统选择iOS或Android版本下载安装;4. 登录App后开启双…

    2025年12月8日
    000
  • 必安交易所在线入口 必安app下载binance

    要下载币安App并开启数字货币交易,需先访问官网找到下载入口,选择对应操作系统,完成安装及登录。1. 访问币安官网binance.com,确认网址安全;2. 在首页或底部点击“下载”进入应用页面;3. 根据手机类型选择iOS或Android版本;4. Android用户可下载APK或通过Google…

    2025年12月8日
    000
  • 易欧在线入口 易欧app下载

    要安全访问易欧(OKX)平台并下载官方App,请务必通过搜索引擎搜索“OKX”或“易欧”,认准域名okx.com的官网链接,避免点击不明来源的入口;下载App时,iOS用户应通过App Store搜索官方开发者发布的应用,Android用户可通过官网二维码或信誉良好的第三方商店下载;注册账户时选择手…

    2025年12月8日
    000
  • OKX欧义交易所最新中文版客户端注册入口

    OKX 欧易交易所,作为全球领先的数字资产交易平台,一直致力于为用户提供安全、稳定、便捷的交易体验。为了更好地服务广大中文用户,OKX 欧易推出了最新的中文版客户端,无论您是经验丰富的交易员,还是刚刚踏入数字货币领域的新手,这款客户端都将成为您探索数字资产世界的理想工具。 现在,就让我们一起探索如何…

    2025年12月8日
    000
  • 火币app下载 huobi最新官网地址

    火币App下载需根据操作系统选择对应方法,iOS用户应使用海外Apple ID登录App Store搜索安装,安卓用户则通过官网下载APK文件并允许安装未知来源应用。为确保安全,务必掌握辨别官网真伪的方法:核对官方网址、查看HTTPS安全证书、关注官方公告渠道、避免点击不明链接、确认验证码来源。此外…

    2025年12月8日
    000
  • okx易欧app下载 易欧最新官网地址

    如何正确下载OKX易欧App并获取官网地址?答案如下:1.访问官方网站;2.找到下载入口;3.选择对应版本;4.扫码或直接下载安装包;5.安装并登录账户。为确保安全,请务必通过官方渠道下载,避免钓鱼网站。如需获取最新官网地址,可通过搜索引擎、官方社交媒体或客服咨询。同时,交易时应设置强密码、开启双重…

    2025年12月8日
    000
  • 欧易App安全安装入口 官网提供的客户端获取步骤详解

    欧易(OKX)作为全球领先的数字资产交易平台,以其强大的技术实力、严格的安全措施和丰富的交易品种赢得了广大用户的信赖。为了确保您的交易安全,务必通过官方渠道下载和安装欧易App。本文将为您详细介绍如何通过欧易官网安全获取客户端,并提供一些安全建议。 为什么选择官方渠道下载欧易App? 通过官方渠道下…

    2025年12月8日
    000
  • 易欧交易所最新版下载 易欧交易所下载教程苹果

    易欧交易所(OKX)最新版可通过官网、应用商店及邀请链接下载,苹果设备用户可按步骤完成安装。1. 官网下载:访问OKX官方网站,选择对应系统版本下载;2. 应用商店下载:Android用户可在Google Play搜索下载,iOS用户需切换Apple ID地区至允许上架的区域后下载;3. 邀请链接下…

    2025年12月8日
    000
  • B安交易所应用获取 币b安v2.109.0正版安装官方推荐

    币安(Binance)作为全球领先的加密货币交易所之一,其App版本更新迭代一直备受关注。今天,我们就来聊聊币安v2.109.0正版安装,以及官方推荐的原因,并手把手教你如何安全地安装和使用这款App。你是否还在为找不到官方正版安装渠道而烦恼?你是否担心下载到假冒App导致资产损失?你是否想了解v2…

    2025年12月8日
    000
  • 必安binance下载链接 必安binance下载路径

    如何下载Binance应用程序?1.访问Binance官网,输入正确网址进入官方网站;2.选择设备类型,包括iOS、Android和桌面版;3.点击对应下载链接,前往App Store或Google Play Store下载安装。Binance作为全球领先的加密货币交易平台,提供丰富的交易品种、高流…

    2025年12月8日
    000
  • 币安最新下载链接 币安下载路径

    币安下载的正确方式有三种:通过官网、移动应用商店或邀请链接。首先访问币安官网(www.binance.com)下载对应系统的App;其次可在App Store或Google Play中搜索“Binance”并确认开发者信息后下载;最后也可通过他人邀请链接获取下载地址。下载完成后,依次安装、打开、注册…

    2025年12月8日
    000
  • 欧亿okx安卓版app安装入口 欧亿交易所手机app最新版 v6.125.1

    欧亿okx作为全球领先的数字资产交易平台,为用户提供安全、便捷的加密货币交易服务。为了方便用户随时随地进行交易,欧亿okx推出了安卓版app。本教程将详细介绍如何下载并安装欧亿okx安卓版app最新版本v6.125.1,让您轻松掌握操作流程,随时把握投资机会。本文提供官方app下载链接,推荐使用本文…

    2025年12月8日
    000
  • OKX平台网页版登录地址 OKX网页版最新入口

    想要安全便捷地进入 okx 平台进行数字资产交易?okx 网页版为你提供了一个稳定可靠的选择。通过网页版,你无需下载任何客户端,即可在浏览器中直接访问 okx 的各项功能,包括交易、充提币、查看行情、参与活动等等。无论你使用 windows、macos 还是 linux 系统,只要拥有一个现代浏览器…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信