【OPM】服务器内存利用率取值、计算规则

【OPM】服务器内存利用率取值、计算规则

对于服务器内存利用率取值和计算方式:
一.通过 SNMP 计算内存利用率(Windows\Linux 通用)
通过 SNMP 计算内存利用率有两种方式(自动优先使用方式 1)
方式 1.如果 hrStorageType OID (.1.3.6.1.2.1.25.2.3.1.2)返回一个包含 hrStorageRam 的值:
(1)注意 hrStorageType OID (.1.3.6.1.2.1.25.2.3.1.2) 的实例,其中包含 hrStorageRam 作为值。

(2)内存总使用量计算:
通过 hrStorageUsed OID (.1.3.6.1.2.1.25.2.3.1.6)  及 hrStorageAllocationUnits OID(.1.3.6.1.2.1.25.2.3.1.4) 对应(1)中 hrStorageRam 实例索引取值并相乘,得到的结果单位为字节,除以1048576得到单位为 MB 的值。
计算公式:
总内存使用(单位 MB) = [hrStorageUsed 的实例值 (.1.3.6.1.2.1.25.2.3.1.6) * hrStorageAllocationUnits 的实例值 (.1.3.6.1.2.1.25.2.3.1.4)] / 1048576

(3)总内存大小
通过下方查询语句查询内存总大小:

总内存大小  = 语句的输出 [Select RAMSIZE from opmanagerobject where name ='<Replace the Device MO name here>';](单位 MB)
<Replace the Device MO name here>替换为设备监视名,在 OPM 中,选中具体设备,在设备的概览界面上方 URL 最后的一段,可能为机器名或 IP,企业版还会包含探针标记。可参考下图位置获取:


同时,通过 hrMemorySize OID (.1.3.6.1.2.1.25.2.2) 获取的值除以1024也可以得到相同大小、单位为 MB 的值。

(4)内存利用率 = 总内存使用量/总内存大小*100% (单位%)

示例:
通过对一台 Windows 2016 服务器按步骤执行上述操作:
(1)hrStorageType OID (.1.3.6.1.2.1.25.2.3.1.2)

hrStorageType.4:-->.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTypes.hrStorageRam
hrStorageType.3:-->.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTypes.hrStorageVirtualMemory
hrStorageType.2:-->.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTypes.hrStorageCompactDisc
hrStorageType.1:-->.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTypes.hrStorageFixedDisk

其中,取到的实例 4 包含“hrStorageRam”作为值

(2)hrStorageUsed OID (.1.3.6.1.2.1.25.2.3.1.6)  & hrStorageAllocationUnits OID(.1.3.6.1.2.1.25.2.3.1.4) 取对应.4的值。

hrStorageUsed.4:-->96811
hrStorageUsed.3:-->106977
hrStorageUsed.2:-->2343303
hrStorageUsed.1:-->12479655

hrStorageAllocationUnits.4:-->65536
hrStorageAllocationUnits.3:-->65536
hrStorageAllocationUnits.2:-->2048
hrStorageAllocationUnits.1:-->4096

总内存使用 = 96811*65536/1048576 = 6050.688(MB)

(3)总内存大小

hrMemorySize.0:-->8289780

总内存大小 = 8289780/1024 = 8095.48828 (MB)

(4)内存利用率

内存利用率 = 6050.688/8095.48828*100% = 74.74%,产品中显示为 74%

方式 2.如果 hrStorageType OID (.1.3.6.1.2.1.25.2.3.1.2)返回一个 包含 hrStorageRam 的值:
通过 hrSWRunPerfMem OID (.1.3.6.1.2.1.25.5.1.1.2) 获取所有实例值总和,再除以 1024 得到总内存使用(MB)
hrSWRunPerfMem OID (.1.3.6.1.2.1.25.5.1.1.2)取的是所有进程占用的内存数值(单位 KB)
再除以总内存大小,得到内存利用率。
公式:
内存利用率 = [ hrSWRunPerfMem OID (.1.3.6.1.2.1.25.5.1.1.2) 的所有实例值的总和] / 1024] / 总内存大小 *100%

二.对于 Linux 服务器通过 CLI 取值命令:

/usr/bin/free -b | awk '/Mem:|cache:/ {print $2,$3}' | sed 'N;s/\n/ /' | awk '{if($4!=""){print ($4*100)/$1}else{print ($2*100)/$1}}'

自动返回一个百分比值。

APM通过 SNMP 协议对 Windows/Linux 服务器取值、计算规则参考下方链接:
    • Related Articles

    • 【APM】服务器内存利用率计算规则(SNMP)

      通过 SNMP 协议对 Windows\Linux 服务器获取并计算物理内存利用率的方式不同。 一.Windows服务器: (1)抓取 hrStorageType OID (.1.3.6.1.2.1.25.2.3.1.2) 的实例。 它将列出目标服务器中可用的不同类型的存储,从列表中我们单独使用 hrStorageRam 的值来计算我们使用的物理内存。 (2)内存总使用量计算: 通过 hrStorageUsed OID (.1.3.6.1.2.1.25.2.3.1.6) 及 ...
    • 【APM】通过 SNMP 监控的服务器、虚拟机发出重启告警的原因

      问题描述: 监控服务器发出重启告警,实际上服务器并未重启。 监控使用 SNMP 凭证。 问题原因: 因受到 SNMP 协议 sysUptime 本身位数(32 位)和返回值最小颗粒度(1/100s)限制,当系统运行时间 2^32/(24*60*60*100)≈497 超过 497 天后,超过最大位数,该值会重新开始累计,与服务器重启表象一致,故会产生服务器重启告警。 只有通过 SNMP 监控的设备才会有此问题,通过 WMI/CLI 方式监控不会有此问题。 ...
    • 成功安装服务器代理,监视器无法在Site24x7 Web客户端显示-故障排除

      如果正确安装了代理后服务器监视器也没有出现,请检查: 给定的设备密钥是否正确。 该  plus.site24x7.com/eu/in/cn/.net.au  域被阻止在代理计算机的防火墙。服务器监视代理防火墙中开放必要的端口-。  您的帐户中有足够的帐户许可。如果没有,请购买附加组件或升级到更高的包。 输入的CustomerId与设备密钥匹配。根据不同的操作系统,请按照以下步骤执行此检查:             对于Windows: 运行regedit.exe  ...
    • 在服务器(Windows 10,Linux和MAC)中启用SNMP

      Windows 10 1. 在Windows计算机上打开设置。 2. 点击应用程序。 3. 在应用和功能下选择管理可选功能。 4. 点击添加功能。 5. 从列表中选择简单网络管理协议(SNMP)。 6. 这将在您的终端服务器中安装SNMP服务。 7. 重新启动服务器。 8. 转到services.msc >>搜索SNMP服务,然后右键单击SNMP服务从而进行安全设置。 9. 添加您的社区并保存配置。 Linux 首先使用以下命令安装SNMP守护程序: sudo apt-get install ...
    • 【OPM】Lenovo XCC mib 及说明

      附件为联想 XCC 服务器硬件相关 mib 和说明