JNA メソッド呼び出しが CPU 使用率、スレッド数、およびメモリ制限のしきい値を超えないようにするにはどうすればよいでしょうか?
バックグラウンド:
私はセーフティ クリティカルなアプリケーションに取り組んでいますが、セーフティ クリティカルではない機能の 1 つは、C で記述されたライブラリを使用する必要があります。 Java インターフェイス ファイル以外のソース コードへのアクセス。JNA コードで使用される CPU 使用率、スレッド数、およびメモリを制限する方法はありますか?
JNA メソッド呼び出しが CPU 使用率、スレッド数、およびメモリ制限のしきい値を超えないようにするにはどうすればよいでしょうか?
バックグラウンド:
私はセーフティ クリティカルなアプリケーションに取り組んでいますが、セーフティ クリティカルではない機能の 1 つは、C で記述されたライブラリを使用する必要があります。 Java インターフェイス ファイル以外のソース コードへのアクセス。JNA コードで使用される CPU 使用率、スレッド数、およびメモリを制限する方法はありますか?
ulimit
およびsysctl
を参照してください。これらは、JVM プロセス全体 (またはその他のプロセス) に適用されます。
ただし、JNA を介してネイティブ アクセスを行っている JVM の部分をそうでない部分からセグメント化することは容易ではありません。
共有ライブラリを実行している間にプロファイリングを実行して、使用するリソースを把握する必要があります。これにより、それらの周りに制限を設定することに集中できます (lsof
またはstrace
Linux で使用されますが、Windows で同等のものはわかりません)。