HTとSMTに関する追加情報:

HTとSMTに関する追加情報:

私は、ゲームコミュニティのためのゲームサーバーをホストする2つのX5650 2.7GHZプロセッサを搭載したLinuxボックスを持っています。私の質問は、ゲームサーバーに最適な1コアのパフォーマンスが必要ですが、24のvCORESと12の物理コアがあることです。 12個の物理コアを使用するようにカーネルに「指定」することは可能ですか?それでは、1つの物理コアが2VCORESを使用しますか?

ありがとう、アレックス。

ベストアンサー1

tasksetスレッドの好みを設定することで、コア間にプロセスを手動で展開できます。どのスレッドがどのコアとプロセッサに属しているかを確認するには、/proc/cpuinfo次の点を確認します。

$ grep -E '^processor|^physical id|^core id' /proc/cpuinfo |sed 's/^processor/\nprocessor/'

processor       : 0
physical id     : 0
core id         : 0

processor       : 1
physical id     : 0
core id         : 1

processor       : 2
physical id     : 0
core id         : 0

processor       : 3
physical id     : 0
core id         : 1
$ _

processorはスレッド数、physical idは物理CPU数、core idはコア数です。上記の出力は、2つのコアと4つのスレッドを持つ単一のCPUを持つシステムからのものです。

tasksettaskset --all-tasks -p <hex_mask> <pid>既存のプロセスのすべてのスレッドの好みを変更するために使用できます。これはhex_mask各1ビットが割り当てられたCPUスレッドを表すビットマスクで、右から番号が付けられます。たとえば、0xaマスクは、0b1010プロセスのスレッド#1とスレッド#3の優先度を表すバイナリを意味します。 PIDが説明を必要とすることを願っています。

おすすめ記事