我正在使用Java的Sigar库,但是遇到了以下错误:
Java运行时环境检测到致命错误: EXCEPTION_ACCESS_VIOLATION (0xc0000005),位于pc=0x0000000010014ed4,pid=1560,tid=4812
这里 您可以查看生成的错误日志。(以及我的机器规格)
程序运行几个小时后,这种情况会随机发生。然后,它会崩溃,我将无法再监视任何参数(CPU、RAM、磁盘等)。这非常令人恼火,使SIGAR完全无用,因为您无法信任它是否会崩溃。
我已经阅读了这两个关于此问题的主题,但似乎是库的问题,没有提出适当的解决方案(而且该库似乎没有修复错误)。
有个人谈论如何解决64位问题在这个答案中, 但是那个文件甚至无法下载。(没有java/src
文件夹)。
你有什么想法来处理它吗?它是否可修复?如果不能,你会建议我使用哪些替代Sigar?
如果相关的话,这些是我在应用程序中使用的Sigar函数:
- new Sigar();
- Sigar.getProcCpu();
- Sigar.getCpuList();
- new ProcessFinder();
- ProcessFinder.find();
- new ProcCpu();
- ProcCpu.gather();
- new ProcMem();
- ProcMem.gather();
- ProcMem.getResident()
- ProcCpu.getTotal();
- ProcCpu.getLastTime();
- Sigar.getMem();
- Mem.getActualFree();
- Mem.getActualUsed();
- Mem.getFree();
- Mem.getRam();
- Mem.getTotal();
- Mem.getUsed();
- Mem.getUsedPercent();
- new FileSystemUsage();
- FileSystemUsage.getFree();
- FileSystemUsage.getUsed();