Linux系统的ECS实例内存使用率较高问题的排查及解决方案

axin 2025-04-02 6人围观 ,发现0个评论 火山引擎云服务器云服务器云服务器教程

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>


本文主要介绍如何使用free命令与Atop工具,排查和解决Linux实例在使用过程中,出现的内存使用率较高(使用率超过80%)问题。

操作步骤

  1. 登录目标实例,操作详情可参考登录Linux实例。

  2. 执行如下命令,查询实时内存占用情况。

    free -g

    回显示例

    说明

    • 内存使用率 = (total-free) /total,当内存使用率≥80%时,定义为内存使用率过高。

    • total:可供系统使用的内存大小,即物理内存减去预留位和内核使用的内存,本列与Mem行交集的值即为总内存大小。

    • free:当前系统完全没有使用的内存,本列与Mem行交集的值即为可用内存大小。

  3. 使用Atop工具,查看内存占用排序情况。

    • 符合预期
      请优化该进程对应的程序处理逻辑,减少内存占用。您也可以升级您的实例配置,避免由于实例规格较低,影响程序正常运行,操作详情可查看修改实例规格。

    • 不符合预期
      您可以执行如下命令,手动终止异常进程。

      注意

    • 终止进程后,可能导致目标进程的数据丢失。

    • 终止操作系统关键进程可能导致系统重启,请谨慎操作。

    • CentOS

      sudo yum -y install atop
    • Ubuntu、Debian

      sudo apt update 
      sudo apt -y install atop
    1. 在Atop监控页面中,按k键进入终止进程模式。

    2. 输入目标进程PID,按回车键确认。

    3. 输入9,按回车键确认,强制关闭进程。

    4. 请确保在目标实例中已经安装Atop工具。若未安装,请在目标实例中执行如下命令完成安装操作。

    5. 执行如下命令,查看内存占用实时排序情况。

      atop -m

      回显示例

    6. 请根据VSIZE(虚拟内存)、RSIZE(实际内存)与CMD(进程名),判断内存占用高的进程是否符合预期,并获取目标进程的PID(进程标识符)。


火山引擎云服务器实践教程-自建高性能数据库-选型与性能测试

569文章数 0评论数
热门文章
最近发表
标签列表
请关注微信公众号
微信二维码
不容错过
Powered By TOPYUN 云产品资讯