由于我正在使用的 sigar 库版本中的一个错误(返回交换的虚假值),我尝试使用com.sun.management.OperatingSystemMXBean
。这工作得很好,给了我想要的结果(在 Windows 上)。
Class<?> sunMxBeanClass = Class.forName("com.sun.management.OperatingSystemMXBean");
sunMxBeanInstance = sunMxBeanClass.cast(ManagementFactory.getOperatingSystemMXBean());
getFreeSwapSpaceSize = getMethodWithName(sunMxBeanClass, "getFreeSwapSpaceSize");
getTotalSwapSpaceSize = getMethodWithName(sunMxBeanClass, "getTotalSwapSpaceSize");
但是,这与 java 9 不同。是否有另一种方法可以使用 java 查询交换文件/分区信息?我不想介绍 sigar 的新库或新版本。
跨平台解决方案表示赞赏,但 windows 就足够了 :--)
谢谢