whycxzp
2023-05-24 4af3371b2f7773f13e26199871c3b4ec008f17b6
更新cpu获取
2个文件已修改
44 ■■■■■ 已修改文件
pom.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ServerStateService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pom.xml
@@ -209,6 +209,37 @@
            <scope>system</scope>
            <systemPath>${pom.basedir}/src/main/resources/lib/tomcat-embed-core-9.0.30.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
            <version>5.8.0</version>
        </dependency>
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna-platform</artifactId>
            <version>5.8.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.oshi</groupId>
            <artifactId>oshi-core</artifactId>
            <version>5.6.1</version>
            <exclusions>
                <exclusion>
                    <groupId>net.java.dev.jna</groupId>
                    <artifactId>jna</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>net.java.dev.jna</groupId>
                    <artifactId>jna-platform</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.8</version>
        </dependency>
    </dependencies>
src/main/java/com/whyc/service/ServerStateService.java
@@ -1,10 +1,15 @@
package com.whyc.service;
import cn.hutool.system.oshi.CpuInfo;
import cn.hutool.system.oshi.OshiUtil;
import com.sun.management.OperatingSystemMXBean;
import com.whyc.dto.ShowDTO;
import com.whyc.mapper.ServerStateMapper;
import com.whyc.pojo.ServerState;
import org.springframework.stereotype.Service;
import oshi.hardware.CentralProcessor;
import oshi.hardware.HardwareAbstractionLayer;
import oshi.util.Util;
import javax.annotation.Resource;
import java.io.File;
@@ -71,8 +76,12 @@
        int connRate = (int) (connDivide*100);
        //cpu使用率
        double cpuLoad = osmb.getSystemCpuLoad();
        int cpuLoadRate = (int)(BigDecimal.valueOf(cpuLoad).setScale(2,RoundingMode.CEILING).doubleValue()*100);
        //double cpuLoad = osmb.getSystemCpuLoad();
        CpuInfo cpuInfo = OshiUtil.getCpuInfo();
        double free = cpuInfo.getFree();
        double cpuLoad = 100-free;
        long cpuLoadRate = Math.round(cpuLoad);
        //int cpuLoadRate = (int)(BigDecimal.valueOf(cpuLoad).setScale(2,RoundingMode.CEILING).doubleValue()*100);
        state.setFreeMen(freeMemorySize);
        state.setTotalMem(totalMemorySize);