linux系统下获取cpu、硬盘、内存使用率
1.linux上安装snmp服务
第一步:在公司192.168.100.171 Linux虚拟机上安装snmp服务。
第二步:通过HOST-RESOURCES-MIB库中的节点获取对应的值。
第三步:只能通过:1.3.6.1.2.1.25.1.1.0节点对象获取到系统运行时间,无法获取到其他节点的值。
第四步:修改/etc/snmp/snmpd.conf文件
添加一行:view systemview included .1
第五步:修改完配置之后重启snmp服务。
2.cpu、硬盘、内存利用率计算
2.1 Cpu利用率计算
2.1.1公式
CPU利用率 = (cpu负载值之和/处理器的个数)*100%
2.1.1算法(流程)描述
(1)通过节点:hrProcessorLoad (1.3.6.1.2.1.25.3.3.1.2 ) 获取对应的cpu负载值:
(2)有4个值说明系统核数为4核
(3)cpu利用率 = (1+1+1+1)/4 *100% = 1%
2.2硬盘利用率计算
2.1.1公式
使用过的硬盘大小 = 使用过的簇的个数 * 每个簇的大小
硬盘总大小 = 硬盘总的簇的个数 * 每个簇的大小
硬盘利用率 = (使用过的硬盘大小 / 硬盘总大小) * 100%
2.1.1算法(流程)描述
hrStorageUsed:1.3.6.1.2.1.25.2.3.1.6
hrStorageSize:1.3.6.1.2.1.25.2.3.1.5
hrStorageAllocationUnits:1.3.6.1.2.1.25.2.3.1.4
每个分区使用过的簇的个数:
hrStorageUsed.31 |
1220045 |
hrStorageUsed.35 |
57 |
hrStorageUsed.36 |
39874 |
hrStorageUsed.37 |
363210 |
hrStorageUsed.40 |
2181544 |
每个分区总的簇的个数:
hrStorageSize.31 |
12901535 |
hrStorageSize.35 |
1005704 |
hrStorageSize.36 |
495844 |
hrStorageSize.37 |
11766514 |
hrStorageSize.40 |
2181544 |
每个分区对应的簇的大小
hrStorageAllocationUnits.31 |
4096 |
hrStorageAllocationUnits.35 |
4096 |
hrStorageAllocationUnits.36 |
1024 |
hrStorageAllocationUnits.37 |
4096 |
hrStorageAllocationUnits.40 |
2048 |
硬盘利用率计算:
硬盘利用率 = (1220045 * 4096 + 57 * 4096 + 39874 * 1024 + 363210 * 4096 + 2181544 * 2048)/ (12901535 * 4096 + 1005704 * 4096 + 495844 * 1024 + 11766514 * 4096 + 2181544 * 2048)* 100% = 9.98%
2.3内存利用率计算
2.1.1公式
使用的内存大小 = 使用的簇的个数 * 每个簇的大小
内存总的大小 = 总的族的个数 * 每个簇的大小
内存利用率 = (使用的内存大小/内存总的大小)*100%
2.1.1算法(流程)描述
获取内存对应的信息:
hrStorageUsed : 1.3.6.1.2.1.25.2.3.1.6
hrStorageSize : 1.3.6.1.2.1.25.2.3.1.5
hrStorageAllocationUnits: 1.3.6.1.2.1.25.2.3.1.4
hrStorageUsed.1 |
1463816 使用的簇的个数 |
hrStorageSize.1 |
8045632 簇的总个数 |
hrStorageAllocationUnits.1 |
1024 每个簇的大小 |
内存利用率计算:
内存利用率 = (1463816 * 1024)/ (8045632 *1024) *100% = 18.1 %