問題タブ [oraclelinux]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
225 参照

linux - Oracle Linux での Java パフォーマンスの問題

私は非常に「単純な」テストを実行しています。

ランダムを使用するため、それほど単純ではないかもしれませんが、Javaを使用した他のテストでも同じ問題が発生します

自宅のデスクトップで

7 スレッドでのパフォーマンス:

ホームで 7 スレッドの AsyncProfiler 結果を使用したフレーム グラフ ここに画像の説明を入力

Oracle Linux に問題があります

1つのスレッドで、私は非常に優れたパフォーマンスを発揮します:

AsyncProfiler を使用したフレーム グラフの結果は 1 スレッドです ここに画像の説明を入力 が、7 スレッドを使用

AsyncProfiler Result 7 スレッドを使用したフレーム グラフ

ここに画像の説明を入力

2 つのソケットがあり、システムが 1 つの NUMA ノードのみで構成されているため、NUMA の問題である可能性があります numactl --hardware

ただし、次を使用していくつかのCPUスレッドを無効にした後:

パフォーマンスはほとんど改善されませんでした。

これは非常に「単純な」テストです。実際のコードを使った複雑なテストでは, それも価値があります. 多くの時間を費やします..annobin___pthread_cond_signal.start

また、自宅のデスクトップに同じバージョンの vagrant イメージOracle Linuxとカーネル バージョンを展開し、10 個の CPU スレッドで実行しました。パフォーマンスは、デスクトップとほぼ同じ (~1M オペレーション/秒) でした。つまり、OSやカーネルではなく、いくつかの構成についてです

いくつかの jDK バージョンとベンダー (jdk 11 以降) でテスト済み。YUM ディストリビューションのOpenJDK 11 を使用すると、パフォーマンスはほとんど低下しませんが、重要ではありません。

アドバイスをいただけますか よろしくお願いします