2018年10月3日 星期三

關閉Mac的超執行緒hyper-threading

主機已經有4核心,覺得並不需要用到hyper-threading讓機器有8執行緒。在不用uEFI更改Mac本身的EFI的情況下,只能夠用軟體關閉hyper-threading。網路上面有人教使用Xcode的instrument來手動關閉,但如此一來每次重開機皆需重新設定。Bryan Christianson開發的軟體CPUSetter使用畫面如下圖(點圖可以變大):



上圖顯示超執行緒(Hyper Threading)被關掉了因此:
  • Physical CPUs active = 4實體核心數目是4個
  • Logical CPUs active = 4邏輯核心數目也是4個
也可以用sysctl這個指令看核心數目:
$ sysctl -a | grep hw.*cpu
hw.ncpu: 8
hw.activecpu: 4
hw.physicalcpu: 4
hw.physicalcpu_max: 4
hw.logicalcpu: 4
hw.logicalcpu_max: 8
hw.cputype: 7
hw.cpusubtype: 8
hw.cpu64bit_capable: 1
hw.cpufamily: 280134364
hw.cpufrequency: 2300000000
hw.cpufrequency_min: 2300000000
hw.cpufrequency_max: 2300000000
hw.cputhreadtype: 1
  • hw.physicalcpu:The number of physical processors available in the current power management mode.
  • hw.logicalcpu:The number of logical processors available in the current power management mode.
更多的sysctl的參數,參考這個網頁

注意,這個方法並不是從EFI直接關掉hyperthreading,所以隨時都可以此軟體決定核心數目或是超執行緒要不要啟動~目前還是找不到直接進去Mac EFI的方法


跟hyper-threading有關的文章

_EOF_

沒有留言:

張貼留言