diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/ProcessMetrics.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/ProcessMetrics.java index f30214334805..75335614894b 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/ProcessMetrics.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/ProcessMetrics.java @@ -56,7 +56,7 @@ public class ProcessMetrics implements IMetricSet { private static final String PROCESS = "process"; private static final String LINUX_RSS_PREFIX = "VmRSS:"; private long lastUpdateTime = 0L; - private volatile long processCpuLoad = 0L; + private volatile double processCpuLoad = 0.0D; private volatile long processCpuTime = 0L; public ProcessMetrics() { @@ -89,7 +89,7 @@ private void collectProcessCpuInfo(AbstractMetricService metricService) { a -> { if (System.currentTimeMillis() - lastUpdateTime > MetricConstant.UPDATE_INTERVAL) { lastUpdateTime = System.currentTimeMillis(); - processCpuLoad = (long) (sunOsMxBean.getProcessCpuLoad() * 100); + processCpuLoad = sunOsMxBean.getProcessCpuLoad() * 100; processCpuTime = sunOsMxBean.getProcessCpuTime(); } return processCpuLoad; @@ -104,7 +104,7 @@ private void collectProcessCpuInfo(AbstractMetricService metricService) { bean -> { if (System.currentTimeMillis() - lastUpdateTime > MetricConstant.UPDATE_INTERVAL) { lastUpdateTime = System.currentTimeMillis(); - processCpuLoad = (long) (sunOsMxBean.getProcessCpuLoad() * 100); + processCpuLoad = sunOsMxBean.getProcessCpuLoad() * 100; processCpuTime = sunOsMxBean.getProcessCpuTime(); } return processCpuTime; @@ -162,7 +162,7 @@ private void collectProcessMemInfo(AbstractMetricService metricService) { SystemMetric.PROCESS_MEM_RATIO.toString(), MetricLevel.IMPORTANT, this, - a -> Math.round(getProcessMemoryRatio()), + a -> getProcessMemoryRatio(), Tag.NAME.toString(), PROCESS); }