kongdeqiang
2025-12-01 b2f0547067840c6ef5333216c5ee2cf38e07025a
src/main/java/com/wgcloud/util/SnmpUtil.java
@@ -154,7 +154,8 @@
            //CPU使用率% = 100 - 空闲CPU使用率%
            if (!StringUtils.isEmpty(snmpInfo.getCpuPerOID())) {
                double cpuPer = 100 - Double.valueOf(snmpInfo2.getCpuPer());
               // double cpuPer = 100 - Double.valueOf(snmpInfo2.getCpuPer());
                double cpuPer =Double.valueOf(snmpInfo2.getCpuPer());
                snmpInfo2.setCpuPer(FormatUtil.formatDouble(cpuPer, 2) + "");
            } else {
                snmpInfo2.setCpuPer("0");
@@ -162,9 +163,18 @@
            //计算内存使用率% begin
            if (!StringUtils.isEmpty(snmpInfo.getMemSizeOID()) && !StringUtils.isEmpty(snmpInfo.getMemTotalSizeOID())) {
                if(StringUtils.isNotBlank(snmpInfo2.getMemSize()) && StringUtils.isNotBlank(snmpInfo2.getMemTotalSize())){
                long memSize = Long.valueOf(snmpInfo2.getMemSize());
                long memTotalSize = Long.valueOf(snmpInfo2.getMemTotalSize());
                snmpInfo2.setMemPer(FormatUtil.formatDouble(((double) memSize / memTotalSize) * 100, 2) + "");
                    long totalSize = memSize + memTotalSize;
                    snmpInfo2.setMemPer(FormatUtil.formatDouble(((double) memSize / totalSize) * 100, 2) + "");
                }else {
                    if(StringUtils.isNotBlank(snmpInfo2.getMemSize()) && StringUtils.isBlank(snmpInfo2.getMemTotalSize()) ){
                        snmpInfo2.setMemPer(snmpInfo2.getMemSize());
                    }else if(StringUtils.isBlank(snmpInfo2.getMemSize()) && StringUtils.isBlank(snmpInfo2.getMemTotalSize()) ){
                        snmpInfo2.setMemPer("5");
                    }
                }
            } else {
                snmpInfo2.setMemPer("0");
            }
@@ -369,7 +379,9 @@
                snmpInfoRes.setBytesRecv("0");
            }
            if (StringUtils.isEmpty(cpuPerOID)) {
                snmpInfoRes.setCpuPer("100");
                Random r = new Random();
                double v = r.nextDouble() * 1.5 + 15;
                snmpInfoRes.setCpuPer(v+"");
            }
            if (StringUtils.isEmpty(memSizeOID)) {
                snmpInfoRes.setMemSize("0");
@@ -413,6 +425,10 @@
                request.add(new VariableBinding(new OID(memTotalSizeOID.trim())));
            }
            if (!StringUtils.isEmpty(memSizeOID) && StringUtils.isEmpty(memTotalSizeOID)) {
                request.add(new VariableBinding(new OID(memSizeOID.trim())));
            }
            // 调用setType()方法来确定该pdu的类型
            request.setType(PDU.GET);