Java 用の Sigar ライブラリを使用していますが、次のエラーが発生します。
Java ランタイム環境によって致命的なエラーが検出されました: EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000010014ed4、pid=1560、tid=4812
ここで、生成されたエラー ログを確認できます。(私のマシンスペックも)
これは、プログラムが数時間実行された後にランダムに発生します。その後、クラッシュし、パラメーター (CPU、RAM、ディスクなど) を監視できなくなります。これは非常に煩わしく、 SIGARがクラッシュするかどうかを信頼できないため、SIGAR はまったく役に立たなくなります。
私はそれについてこの2つのトピックを読んできましたが、ライブラリの問題であり、適切な解決策が提案されていないようです(ライブラリはエラーを修正していないようです)
この回答で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();