アフィリエイト広告を利用しています

mac快適化の最新記事

macでハイパースレッドをON/OFFする方法と確認方法

macでインテルのハイパースレッドの利用を停止する方法をご紹介しています。

IntelのCPUを搭載したMacBook/Air/Proは、ハイパースレッドが有効になっています。
macに搭載されるIntelCPUは、2つ以上のコアがあります。
コア=物理的なCPUの数です。

Intelのハイパースレッド(HT)技術は、1つのコアで仮想的なCPUコアを増やしてくれる技術です。
インテル ハイパースレッディング・テクノロジー (インテル HT テクノロジー) は 1 つのコアで複数のスレッドを同時に実行することにより、プロセッサーのリソースをより効率的に使用します。また、プロセッサーのスループットを高め、マルチスレッド・ソフトウェアの全体的なパフォーマンスを改善します。

インテル ハイパースレッディング・テクノロジー


CPUコアは様々な演算をする機能が備わっています。通常フルに使っていないので、リソースを分けて使えるようにしたのがハイパースレッド(HT)です。

映像系の重たい処理などは、リソースをフルに使っている状態なので、
ハイパースレッドをOFFにした方が処理が早く終わることがあります。

macでハイパースレッドをON/OFFする方法


ここでは、Intel製CPU搭載Macで、macOS Sierraをご利用の方を対象としています。
(検証したmacosがSierraという理由だけです。
未検証ですが、El Capitan、Yosemite、Mavericks、Moutain Linonなどでも使える方法だと思います。)

ハイパースレッドをON/OFFするには、Xcodeのパフォーマンス測定・検証ツール Instrumentsで設定できます。
この方法には、以下2つのデメリットがあります。
  1. Xcodeをインストールする必要があります。通常4GB以上のストレージを消費します。
    App StoreからXcodeをインストールすることができます。
  2. ハイパースレッドOFFの状態は、スリープからの復帰、リブートでクリアされます。
    例えば、macを再起動するとハイパースレッドOFFから規定のONの状態になります。


それでは、ハイパースレッドをONからOFFにしてみます。
  1. Instruments.appを起動します。
    ターミナルから以下コマンドを実行してください。
    $ open /Applications/Xcode.app/Contents/Applications/Instruments.app

    Xcodeから立ち上げる方法もあります。
    Xcodeメニュー > Open Developer Tool > Instruments
    でInstrumentsを起動できます。

  2. ハイパースレッドをOFFにします。
    Instrumentsメニュー > Preferences...を選択します。

    CPUsタブを開きます。

    Hardware Multi-Threading のチェックがONになっていますか?
    OFFになっている場合、ハイパースレッドはOFFの状態になっています。

    チェックがついている場合、ONの状態です。チェックを外してください。
    管理者パスワードが求められます。
    macでハイパースレッドをON/OFFする方法


    Hadware Multi-ThreadingがOFFになると、
    Active processor coresの最大値が4から2に変わったことがわかります。
    (MacBook/Air/Pro13インチの場合)

    MacBook Pro 15インチの場合は、最大8から4に変化します。



再起動の必要はありません。チェックをON/OFFしたタイミングで設定が切り替わります。

ffmpeg( -vcodec libx264 )で負荷をかけながら変化を見てみました。

CPUの数が多いMid2015で確認したスクリーンショットです。
8CPUを4CPUに変更し、4CPUのみ使われることがわかります。
macでハイパースレッドをONからOFFにした結果


ちなみに、ffmpegの処理時間は、ハイパースレッドをOFFにした方が速いです。
ハイパースレッド:ON real 0m36.204s
user 4m19.861s
sys 0m1.598s
ハイパースレッド:OFF real 0m43.373s
user 2m40.776s
sys 0m1.315s


macbook ハイパースレッドがON/OFFなのかを確認する方法


物理的なコア数、論理的なコア数、アクティブなコア数からハイパースレッドのON/OFF状態を判断することができます。

物理的なコア数、論理的なコア数、アクティブなコア数は、sysctlコマンドを使うと得られます。

$ sysctl -a | egrep -e "hw.activecpu*|hw.logicalcpu*|hw.physicalcpu*"
hw.activecpu: 4
hw.logicalcpu_max: 4
hw.logicalcpu: 4
hw.physicalcpu_max: 2
hw.physicalcpu: 2

hw.activecpu 現在アクティブなCPUコア数を意味します。
hw.logicalcpu_max CPUの論理最大コア数を意味します。
hw.logicalcpu 現在macosが認識しているコア数です
hw.physicalcpu_max CPUの物理最大コア数です。
hw.physicalcpu 現在macosが認識している物理的コア数です


ハイパースレッドをON/OFFすると変化する項目は、hw.activecpu、hw.logicalcpuです。

ハイパースレッドがOFFの状態では、Late2012は以下のような結果になります。
$ sysctl -a | egrep -e "hw.activecpu*|hw.logicalcpu*|hw.physicalcpu*"
hw.activecpu: 2
hw.logicalcpu_max: 4
hw.logicalcpu: 2
hw.physicalcpu_max: 2
hw.physicalcpu: 2

見方は色々あるかもしれませんが少ない項目で確認できるのは、以下数値を確認する方法です。
ハイパースレッドOFF:hw.logicalcpu_maxと、hw.logicalcpuが違う場合
ハイパースレッドON:hw.logicalcpu_maxと、hw.logicalcpuが同一の場合


macでハイパースレッドをON/OFFする方法と確認方法
サブコンテンツ

コメント

comments powered by Disqus

コメントシステムを利用したくない方は お問い合わせ からお願いします。
2013.8.19 DISQUS(外部コメントサービス)の利用を開始しました。
Facebook, google, Twitter等のアカウントで投稿可能です。

Microsoft 365 プランの比較

(Microsoft 365 Personal 2,500 円 キャッシュバック キャンペーン 実施中 2022/3/30まで)

  • 祝!初マック(mac book retina 13インチ)!retina美しいです^^マックに関係するTips、情報、はまったことの解決策等
  • Mac野郎なのか
  • プロフィール

このページの先頭へ

×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: