mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix getUsed bug
This commit is contained in:
parent
48e0e99bb6
commit
bd89ec9335
@ -2,7 +2,7 @@
|
|||||||
# 🚀Changelog
|
# 🚀Changelog
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
# 5.7.21 (2022-01-25)
|
# 5.7.21 (2022-01-26)
|
||||||
|
|
||||||
### 🐣新特性
|
### 🐣新特性
|
||||||
* 【extra 】 增加jetbrick模板支持
|
* 【extra 】 增加jetbrick模板支持
|
||||||
@ -13,6 +13,7 @@
|
|||||||
### 🐞Bug修复
|
### 🐞Bug修复
|
||||||
* 【core 】 修复ChineseDate农历获取正月出现数组越界BUG(issue#2112@Github)
|
* 【core 】 修复ChineseDate农历获取正月出现数组越界BUG(issue#2112@Github)
|
||||||
* 【extra 】 修复EmojiUtil.toHtmlHex()方法(pr#519@Gitee)
|
* 【extra 】 修复EmojiUtil.toHtmlHex()方法(pr#519@Gitee)
|
||||||
|
* 【system 】 修复CpuInfo.getUsed()方法(issue#2116@Github)
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
# 5.7.20 (2022-01-20)
|
# 5.7.20 (2022-01-20)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package cn.hutool.system.oshi;
|
package cn.hutool.system.oshi;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import oshi.hardware.CentralProcessor;
|
import oshi.hardware.CentralProcessor;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
@ -31,7 +32,7 @@ public class CpuInfo {
|
|||||||
/**
|
/**
|
||||||
* CPU用户使用率
|
* CPU用户使用率
|
||||||
*/
|
*/
|
||||||
private double used;
|
private double user;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CPU当前等待率
|
* CPU当前等待率
|
||||||
@ -75,16 +76,16 @@ public class CpuInfo {
|
|||||||
* @param cpuNum CPU核心数
|
* @param cpuNum CPU核心数
|
||||||
* @param toTal CPU总的使用率
|
* @param toTal CPU总的使用率
|
||||||
* @param sys CPU系统使用率
|
* @param sys CPU系统使用率
|
||||||
* @param used CPU用户使用率
|
* @param user CPU用户使用率
|
||||||
* @param wait CPU当前等待率
|
* @param wait CPU当前等待率
|
||||||
* @param free CPU当前空闲率
|
* @param free CPU当前空闲率
|
||||||
* @param cpuModel CPU型号信息
|
* @param cpuModel CPU型号信息
|
||||||
*/
|
*/
|
||||||
public CpuInfo(Integer cpuNum, double toTal, double sys, double used, double wait, double free, String cpuModel) {
|
public CpuInfo(Integer cpuNum, double toTal, double sys, double user, double wait, double free, String cpuModel) {
|
||||||
this.cpuNum = cpuNum;
|
this.cpuNum = cpuNum;
|
||||||
this.toTal = toTal;
|
this.toTal = toTal;
|
||||||
this.sys = sys;
|
this.sys = sys;
|
||||||
this.used = used;
|
this.user = user;
|
||||||
this.wait = wait;
|
this.wait = wait;
|
||||||
this.free = free;
|
this.free = free;
|
||||||
this.cpuModel = cpuModel;
|
this.cpuModel = cpuModel;
|
||||||
@ -114,12 +115,12 @@ public class CpuInfo {
|
|||||||
this.sys = sys;
|
this.sys = sys;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getUsed() {
|
public double getUser() {
|
||||||
return used;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUsed(double used) {
|
public void setUser(double user) {
|
||||||
this.used = used;
|
this.user = user;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double getWait() {
|
public double getWait() {
|
||||||
@ -154,16 +155,25 @@ public class CpuInfo {
|
|||||||
this.ticks = ticks;
|
this.ticks = ticks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取用户+系统的总的CPU使用率
|
||||||
|
*
|
||||||
|
* @return 总CPU使用率
|
||||||
|
*/
|
||||||
|
public double getUsed() {
|
||||||
|
return NumberUtil.sub(100, this.free);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "CpuInfo{" +
|
return "CpuInfo{" +
|
||||||
"CPU核心数=" + cpuNum +
|
"CPU核心数=" + cpuNum +
|
||||||
", CPU总的使用率=" + toTal +
|
", CPU总的使用率=" + toTal +
|
||||||
", CPU系统使用率=" + sys +
|
", CPU系统使用率=" + sys +
|
||||||
", CPU用户使用率=" + used +
|
", CPU用户使用率=" + user +
|
||||||
", CPU当前等待率=" + wait +
|
", CPU当前等待率=" + wait +
|
||||||
", CPU当前空闲率=" + free +
|
", CPU当前空闲率=" + free +
|
||||||
", CPU利用率=" + LOAD_FORMAT.format(100 - free) +
|
", CPU利用率=" + getUsed() +
|
||||||
", CPU型号信息='" + cpuModel + '\'' +
|
", CPU型号信息='" + cpuModel + '\'' +
|
||||||
'}';
|
'}';
|
||||||
}
|
}
|
||||||
@ -185,7 +195,7 @@ public class CpuInfo {
|
|||||||
final long totalCpu = ticks.totalCpu();
|
final long totalCpu = ticks.totalCpu();
|
||||||
this.toTal = totalCpu;
|
this.toTal = totalCpu;
|
||||||
this.sys = formatDouble(ticks.cSys, totalCpu);
|
this.sys = formatDouble(ticks.cSys, totalCpu);
|
||||||
this.used = formatDouble(ticks.user, totalCpu);
|
this.user = formatDouble(ticks.user, totalCpu);
|
||||||
this.wait = formatDouble(ticks.ioWait, totalCpu);
|
this.wait = formatDouble(ticks.ioWait, totalCpu);
|
||||||
this.free = formatDouble(ticks.idle, totalCpu);
|
this.free = formatDouble(ticks.idle, totalCpu);
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
package cn.hutool.system;
|
package cn.hutool.system;
|
||||||
|
|
||||||
|
import cn.hutool.core.lang.Console;
|
||||||
import cn.hutool.system.oshi.CpuInfo;
|
import cn.hutool.system.oshi.CpuInfo;
|
||||||
import cn.hutool.system.oshi.OshiUtil;
|
import cn.hutool.system.oshi.OshiUtil;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
|
import org.junit.Ignore;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import oshi.software.os.OSProcess;
|
import oshi.software.os.OSProcess;
|
||||||
|
|
||||||
@ -28,4 +30,12 @@ public class OshiTest {
|
|||||||
final OSProcess currentProcess = OshiUtil.getCurrentProcess();
|
final OSProcess currentProcess = OshiUtil.getCurrentProcess();
|
||||||
Assert.assertEquals("java", currentProcess.getName());
|
Assert.assertEquals("java", currentProcess.getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Ignore
|
||||||
|
public void getUsedTest(){
|
||||||
|
while (true){
|
||||||
|
Console.log(OshiUtil.getCpuInfo().getUsed());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user