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 %

原文地址:https://www.cnblogs.com/beibidewomen/p/7244901.html