Я использую библиотеку Sigar для Java и получаю эту ошибку:
Средой выполнения Java обнаружена фатальная ошибка: EXCEPTION_ACCESS_VIOLATION (0xc0000005) на pc=0x0000000010014ed4, pid=1560, tid=4812.
Здесь вы можете увидеть сгенерированный журнал ошибок. (как и мои характеристики машины)
Это происходит случайным образом после того, как программа работает несколько часов. Затем происходит сбой, и я больше не могу отслеживать какие-либо параметры (процессор, оперативная память, диск...). Это настолько раздражает и делает 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();