腾讯云CVM服务器实例内存使用率过高_新手站长网_云淘科技

现象描述

Linux 云服务器实例出现由内存问题引发的故障。例如,系统内部服务响应速度变慢、服务器登录不上、系统触发 OOM(Out Of Memory)等。

可能原因

可能是实例内存使用率过高等问题引起。通常情况下当实例内存使用率持续高于90%时,可判断为实例内存使用率过高。
您可以参见 故障处理,判断问题是否由内存使用率过高引起。参见 其他内存问题典型案例分析,定位问题原因。

故障处理

1. 参见 相关操作,查看内存使用率是否过高。内存使用率过高,执行下一步。内存使用率正常,请参见 其他内存问题典型案例分析,进一步定位问题原因。2. 在系统内部执行 top 命令后按 M,查看 RES SHR 列是否有进程占用内存过高。否,执行下一步。是,对应进程类型进行操作,详情请参见 分析进程。3. 执行以下命令,查看共享内存占用是否过高。

cat /proc/meminfo | grep -i shmem

返回结果如下图所示:
腾讯云CVM服务器实例内存使用率过高_新手站长网_云淘科技4. 执行如下命令,查看不可回收的 slab 内存占用是否过高。

cat /proc/meminfo | grep -i SUnreclaim

返回结果如下图所示:
腾讯云CVM服务器实例内存使用率过高_新手站长网_云淘科技5. 执行以下命令,查看是否存在内存大页。

cat /proc/meminfo | grep -iE "HugePages_Total|Hugepagesize"

返回结果如下图所示:
腾讯云CVM服务器实例内存使用率过高_新手站长网_云淘科技HugePages_Total 输出为0,请参见 其他内存问题典型案例分析,进一步定位问题原因。HugePages_Total 输出非0,表示配置了内存大页。内存大页的大小为 HugePages_Total*Hugepagesize, 您需确认 hugepage 是否为其他恶意程序配置。若确认已不需要内存大页,可通过注释 /etc/sysctl.conf 文件中的 vm.nr_hugepage 配置项,再执行 sysctl -p 命令取消内存大页。

相关操作

查看内存使用率

由于不同 Linux 发行版的 free 命令输出的含义可能有区别,内存使用率不能通过简单的 free 命令输出信息进行计算得出。请按照以下步骤,通过腾讯云内存监控得到内存使用率:1. 登录 云服务器控制台,进入实例管理页面。2. 选择实例 ID,进入实例详情页面,并选择监控页签。3. 在内存监控中可查看该实例的内存利用率。如下图所示:腾讯云CVM服务器实例内存使用率过高_新手站长网_云淘科技

计算内存使用率

内存监控中内存使用率计算方法为:用户使用的内存量与总内存量之比,不包括缓冲区与系统缓存占用的内容。计算过程如下:
= (Total - available)100% / Total
= (Total - (Free + Buffers + Cached + SReclaimable - Shmem))100% /Total
= (Total - Free - Buffers - Cached - SReclaimable + Shmem)* 100% / Total计算过程中使用的 TotalFreeBufferCachedSReclaimableShmem 参数可从 /proc/meminfo 中获取。/proc/meminfo 示例如下:

1. [root@VM_0_113_centos test]# cat /proc/meminfo 2. MemTotal: 16265592 kB3. MemFree: 1880084 kB4. ......5. Buffers: 194384 kB6. Cached: 13647556 kB7. ......8. Shmem: 7727752 kB9. Slab: 328864 kB10. SReclaimable: 306500 kB11. SUnreclaim: 22364 kB12. ......13. HugePages_Total: 014. Hugepagesize: 2048 kB

参数说明如下:

参数 说明
MemTotal 系统总内存。
MemFree 系统剩余内存。
Buffers 表示块设备(block device)所占用的缓存页,包括直接读写块设备,以及文件系统元数据(metadata),例如 SuperBlock 所使用的缓存页。
Cached page cache,包含 tmpfs 中的文件 POSIX/SysV shared memory 及 shared anonymous mmap。
Shmem 包括共享内存,tmpfs 等。
Slab 内核 slab 分配器分配的内存,可以用 slabtop 查看。
SReclaimable 可回收的 slab。
SUnreclaim 不可回收的 slab。
HugePages_Total 内存大页总共的页数。
Hugepagesize 内存大一页的大小。



其他内存问题典型案例分析

如通过以上步骤均无法处理问题,或您使用云服务器时出现以下类型的错误信息,则可以参考以下解决方案:日志报错 fork:Cannot allocate memoryVNC 登录报错 Cannot allocate memory实例内存未耗尽时触发 Out Of Memory

对腾讯云CVM服务器有疑惑?想了解产品收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/17365.html

(0)
匿名
上一篇 2023年11月21日 下午2:40
下一篇 2023年11月22日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。