👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
本文主要介绍如何使用free命令与Atop工具,排查和解决Linux实例在使用过程中,出现的内存使用率较高(使用率超过80%)问题。
操作步骤
登录目标实例,操作详情可参考登录Linux实例。
执行如下命令,查询实时内存占用情况。
free -g
回显示例
说明
内存使用率 = (total-free) /total,当内存使用率≥80%时,定义为内存使用率过高。
total:可供系统使用的内存大小,即物理内存减去预留位和内核使用的内存,本列与Mem行交集的值即为总内存大小。
free:当前系统完全没有使用的内存,本列与Mem行交集的值即为可用内存大小。
使用Atop工具,查看内存占用排序情况。
符合预期
请优化该进程对应的程序处理逻辑,减少内存占用。您也可以升级您的实例配置,避免由于实例规格较低,影响程序正常运行,操作详情可查看修改实例规格。不符合预期
您可以执行如下命令,手动终止异常进程。注意
终止进程后,可能导致目标进程的数据丢失。
终止操作系统关键进程可能导致系统重启,请谨慎操作。
CentOS
sudo yum -y install atop
Ubuntu、Debian
sudo apt update sudo apt -y install atop
在Atop监控页面中,按k键进入终止进程模式。
输入目标进程PID,按回车键确认。
输入9,按回车键确认,强制关闭进程。
请确保在目标实例中已经安装Atop工具。若未安装,请在目标实例中执行如下命令完成安装操作。
执行如下命令,查看内存占用实时排序情况。
atop -m
回显示例
请根据VSIZE(虚拟内存)、RSIZE(实际内存)与CMD(进程名),判断内存占用高的进程是否符合预期,并获取目标进程的PID(进程标识符)。