128Gbを備えた強力な32コアAMDOpteronサーバーの配信を開始しました。それぞれ16コアの2x6272CPUがあります。30スレッドで長時間実行される大きなJavaタスクを実行しています。LinuxとJavaのNUMA最適化がオンになっています。私たちのJavaスレッドは、主にそのスレッド専用のオブジェクトを使用しており、他のスレッドが読み取るメモリを読み取ることもあれば、共有オブジェクトを書き込んだりロックしたりすることもあります。
CPUコアが25%アイドル状態である理由を説明することはできません。以下は「トップ」のダンプです。
トップ-23:06:381日、23分、3ユーザー、平均負荷:10.84、10.27、9.62 タスク:合計676、実行中1、睡眠中675、停止中0、ゾンビ0 CPU:64.5%us、1.3%sy、0.0%ni、32.9%id、1.3%wa、0.0%hi、0.0%si、0.0%st Mem:合計132138168k、使用済み131652664k、空き485504k、バッファー92340k スワップ:合計5701624k、使用済み230252k、空き5471372k、キャッシュされた13444344k ..。 トップ-22:37:39アップ23:54、3ユーザー、平均負荷:7.83、8.70、9.27 タスク:合計678、実行中1、睡眠中677、停止0、ゾンビ0 Cpu0:75.8%us、2.0%sy、0.0%ni、22.2%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu1:77.2%us、1.3%sy、0.0%ni、21.5%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu2:77.3%us、1.0%sy、0.0%ni、21.7%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu3:77.8%us、1.0%sy、0.0%ni、21.2%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu4:76.9%us、2.0%sy、0.0%ni、21.1%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu5:76.3%us、2.0%sy、0.0%ni、21.7%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu6:12.6%us、3.0%sy、0.0%ni、84.4%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu7:8.6%us、2.0%sy、0.0%ni、89.4%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu8:77.0%us、2.0%sy、0.0%ni、21.1%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu9:77.0%us、2.0%sy、0.0%ni、21.1%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu10:77.6%us、1.7%sy、0.0%ni、20.8%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu11:75.7%us、2.0%sy、0.0%ni、21.4%id、1.0%wa、0.0%hi、0.0%si、0.0%st Cpu12:76.6%us、2.3%sy、0.0%ni、21.1%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu13:76.6%us、2.3%sy、0.0%ni、21.1%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu14:76.2%us、2.6%sy、0.0%ni、15.9%id、5.3%wa、0.0%hi、0.0%si、0.0%st Cpu15:76.6%us、2.0%sy、0.0%ni、21.5%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu16:73.6%us、2.6%sy、0.0%ni、23.8%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu17:74.5%us、2.3%sy、0.0%ni、23.2%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu18:73.9%us、2.3%sy、0.0%ni、23.8%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu19:72.9%us、2.6%sy、0.0%ni、24.4%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu20:72.8%us、2.6%sy、0.0%ni、24.5%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu21:72.7%us、2.3%sy、0.0%ni、25.0%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu22:72.5%us、2.6%sy、0.0%ni、24.8%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu23:73.0%us、2.3%sy、0.0%ni、24.7%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu24:74.7%us、2.7%sy、0.0%ni、22.7%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu25:74.5%us、2.6%sy、0.0%ni、22.8%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu26:73.7%us、2.0%sy、0.0%ni、24.3%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu27:74.1%us、2.3%sy、0.0%ni、23.6%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu28:74.1%us、2.3%sy、0.0%ni、23.6%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu29:74.0%us、2.0%sy、0.0%ni、24.0%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu30:73.2%us、2.3%sy、0.0%ni、24.5%id、0.0%wa、0.0%hi、0.0%si、0.0%st Cpu31:73.1%us、2.0%sy、0.0%ni、24.9%id、0.0%wa、0.0%hi、0.0%si、0.0%st Mem:合計132138168k、使用済み131711704k、空き426464k、バッファー88336k スワップ:合計5701624k、使用済み229572k、無料5472052k、キャッシュ済み13745596k PIDユーザーPRNIVIRT RES SHR S%CPU%MEMTIME+コマンド 13865ルート200122g 112g 3.1g S 2334.3 89.6 20726:49 java 27139 jayen 20 0 15428 1728 952 S 2.6 0.0 0:04.21トップ 27161 sysadmin 20 0 15428 1712 940 R 1.0 0.0 0:00.28トップ 33ルート2000 0 0 S 0.3 0.0 0:06.24 ksoftirqd / 7 131ルート2000 0 0 S 0.3 0.0 0:09.52イベント/ 0 1858ルート2000 0 0 S 0.3 0.0 1:35.14 kondemand / 0
Javaスタックのダンプは、ロックが使用されているいくつかの場所の近くにスレッドがないこと、およびディスクやネットワークI/Oの近くにスレッドがないことを確認します。
「アイドル」と「待機」の「トップ」の意味を明確に説明するのに苦労しましたが、「アイドル」は「実行する必要のあるスレッドがこれ以上ない」という意味であるという印象を受けますが、これは意味がありません。私たちの場合。「Executors.newFixedThreadPool(30)」を使用しています。保留中のタスクは多数あり、各タスクは10秒ほど続きます。
説明にはNUMAをよく理解する必要があるのではないかと思います。CPUが非ローカルアクセスを待機しているときに表示される「アイドル」状態ですか?そうでない場合、説明は何ですか?