Dell Networking - SmartFabric OS10:识别内存利用率
Summary: 在某些情况下,运行 OS10 的 Dell PowerSwitch 可能会触发监视系统,以针对内存可用性低发出警报。
Instructions
索引
适用平台
描述
SNMP OID
可用内存
的 OIDOS10 版本 10.5.3.0 及之前版本
Linux 相关说明文件
从命令行
显示内存利用率 以百分比形式显示可用内存资源
适用的平台和固件
所有平台均支持 OS10 固件
说明
SNMP 监视系统使用适当的 ID 轮询可用内存并显示内存利用率趋势,并且可以通过将它们与系统的总内存进行比较来错误地触发警报。然而,这可能是一个误导性指标,因为“可用内存”组件并不是系统中总可用内存的唯一指示器。还应考虑缓冲区/高速缓存持有的内存。linux 内核根据需要释放 buff/高速缓存内存。
指示内存利用率的“show processes node-id 1”CLI 输出示例片段如下所示。
----------------------------------- show processes node-id 1 -------------------
Top - 09:28:16 up 86 days, 22:23, 1 user, load average: 2.31, 1.98, 1.70
Tasks: 305 total, 1 running, 299 sleeping, 0 stopped, 5 zombie.
%Cpu(s): 10.7 us, 6.6 sy, 0.0 ni, 81.8 id, 0.1 wa, 0.0 hi, 0.8 si, 0.0 st
KiB Mem : 8126280 total, 809620 free, 4074872 used, 3241788 buff/cache
KiB Swap: 812624 total, 812624 free, 0 used. 3724916 avail Mem
将此值打印在与交换内存相同的行上可能会产生误导,因为此值可能会被解释为可用的交换内存。KiB 掉期行上的字符串“used”后面有一个句点 (.),表示与掉期相关的统计数据到此结束。 实际上,这个“可用内存”是整个系统的统计数据。
根据上面的片段,可用内存可能显示为总内存的 ~ 10%,并且系统似乎遇到了内存不足的情况。
% Free ==
= ~10%
但是,必须考虑到 linux 内核会根据需要释放 buff/缓存内存。参考输出下一行指示的“可用内存”,其中考虑缓冲区/高速缓存。根据该值,系统中仍有大约 45% 的可用内存。
% Availability ==
= ~45%
使用 SNMP OID 进行推理
OS10 内存 OID
可用总 RAM:.1.3.6.1.4.1.2021.4.6.0
总 RAM + 可用掉期:.1.3.6.1.4.1.2021.4.11.0
10.5.3.0 OS10 版本中添加了一个新 OID,该 OID 提供“可用内存”值,如“show processes node-id 1”或“top”中所示。 请参阅上面的示例输出。
可以在监视工具中添加来自 DELLEMC-OS10-CHASSIS-MIB 的 OID .1.3.6.1.4.1.674.11000.5000.100.4.1.1.3.1.15.1,以获取“avail Mem”的值。
在 10.5.3.0 之前的版本中,没有可用于可用内存的直接 OID。
如果“已用内存”未显示持续增加(或)可用内存未显示持续减少,则系统不会出现内存泄漏症状。在某些合法情况下,buff/高速缓存可以容纳更大的内存块。标准SNMP监控工具可能无法考虑到这一点,该工具基于可用内存绘制利用率趋势,从而给人一种系统中内存耗尽的感觉。此分配取决于进程如何使用内存以及内核如何在内部管理增强/高速缓存内存。
在 Linux MAN 页中,对于“top”也称为“show process node-id 1”:
命令“show process node-id 1”显示从 linux 命令“top”中提取的内存利用率。 从有关可用内存统计信息的 linux 手册页中:
https://man7.org/linux/man-pages/man1/top.1.html
”第 2 行中的 可用 编号是可用于启动新应用程序的物理内存的估计值,无需交换。与 可用 字段不同,它尝试考虑易于回收的页面缓存和内存板。它在内核 3.14 上可用,在内核 2.6.27+ 上模拟,否则与 free 相同。
要使用命令行显示内存利用率,请执行以下作:
命令 system “free” 输出以下内容:
OS10# system "free"
total used free shared buff/cache available
Mem: 16386852 2414376 13165208 1264 807268 13670376
Swap: 1638684 0 1638684
OS10# system "free | grep Mem | awk '{print $7/$2 * 100 }'"
83.4157 <~~~~This is free memory as a percentage of total memory.



