以下は、プロセッサがHTをサポートしているかどうか、それを有効にするかどうかを確認するために使用する方法です。
# dmidecode -t processor | grep "Hardware Thread" | wc -l
結果がゼロの場合、プロセッサはHTをサポートしていません。結果> 0の場合、結果は0です。
しかし、私はこれが一般的に信頼できるかどうかはわかりません。少なくともUbuntu 16.04、18.04、SLES 12、一部のサーバー(Xeon)、および他のIntelプロセッサを使用するノートブック(Core i5など)でこれを確認したところ、正常に動作します。しかし、「ハードウェアスレッド」という正確なテキストがリストされていることを確認すると、dmidecode
すべてのプロセッサ(AMD、たぶんARMまで)とすべてのディストリビューションで確実に動作しますか?より安全な方法はありますか?
私が知る限り、HTフラグは確かにリストされています。lscpu
HTをサポートしていないCore i5プロセッサにもリストされているので、まったく実行可能なアプローチではありません。
PS。次の投稿はこのトピックを中心に説明していますが、ハイパースレッディングが有効になっているかどうかは別の問題です。 ハイパースレッディングが有効になっていることを確認してください。、 Ubuntuでハイパースレッディングが有効になっているかどうかをテストする方法は?
ベストアンサー1
推測できるように、ht
フラグは信頼できる標識ではありません。ハイパースレッディングのサポートを示していません。「物理パッケージは、Intelハイパースレッディング技術および/またはマルチコアをサポートできます」と表示されます。。
「ハードウェアスレッド」は、dmidecode
プロセッサ特性値の特定のフラグに対応する。SMBIOS(セクション7.5.9参照)はいハードウェアサポートを確実に表示する必要があります。糸、すべての形式の単一パッケージのマルチプロセッシングではありません。したがって、SMBIOSを使用するプラットフォームでは、
dmidecode -t processor | grep -q "Hardware Thread"
基本的なSMBIOS情報と同じくらい信頼できる指標です。
ところで、以下を使用する必要はありませんwc
。
if dmidecode -t processor | grep -q "Hardware Thread"; then echo HT supported; fi