我目前正在尝试获取服务器直接内存值并将其存储到数据库中,但我一直在获取0值,我的方法是否无法返回正确的值500 MB。
我的方法是这样的:
import java.lang.management.BufferPoolMXBean;
import java.lang.management.ManagementFactory;
...
public int toGb(long valueInBytes) {
return (int) (valueInBytes / (1024 * 1024 * 1024));
}
public int getMemoryDirect() {
long memoryDirect = 0;
List<BufferPoolMXBean> pools = ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
for(BufferPoolMXBean pool : pools) {
if(pool.getName().equals("direct")) {
memoryDirect = pool.getTotalCapacity();
}
}
return toGb(memoryDirect);
}
还有其他方法可以检索此值吗?
任何帮助都被拒绝了:)
喵喵时光机
海绵宝宝撒
相关分类