Javaプロセス内の個々のスレッドを特定のCPUコア(Linux上)にロックダウンする方法を知っている人はいますか? C でこれを実行しましたが、Java でこれを行う方法が見つかりません。私の直感では、これには JNI 呼び出しが必要ですが、ここにいる誰かが何らかの洞察を持っているか、以前にそれを行ったことがあるかもしれないことを望んでいました。
ありがとう!
Javaプロセス内の個々のスレッドを特定のCPUコア(Linux上)にロックダウンする方法を知っている人はいますか? C でこれを実行しましたが、Java でこれを行う方法が見つかりません。私の直感では、これには JNI 呼び出しが必要ですが、ここにいる誰かが何らかの洞察を持っているか、以前にそれを行ったことがあるかもしれないことを望んでいました。
ありがとう!
久しぶりですが、誰かがこのスレッドに出くわした場合、これが私がこの問題を解決した方法です。次のようなスクリプトを作成しました。
https://github.com/peter-lawrey/Java-Thread-Affinity/blob/master/src/test/java/com/higherfrequencytrading/affinity/AffinityLockBindMain.javaをご覧ください。
IMO、ネイティブ呼び出しを使用しない限り、これは不可能です。JVM はプラットフォームに依存しないはずです。これを実現するためにシステム コールを実行しても、移植可能なコードにはなりません。