1.檢視邏輯cpu個數:
#cat /proc/cpuinfo |grep "processor"|sort -u|wc -l
2.由於有超執行緒技術有必要檢視一下物理cpu個數:
#grep "physical id" /proc/cpuinfo|sort -u|wc -l
#grep "physical id" /proc/cpuinfo|sort -u
physical id : 0
physical id : 1
檢視每個物理cpu核心個數:
#grep "cpu cores" /proc/cpuinfo|uniq
cpu cores : 6
每個物理cpu上邏輯cpu個數:
#grep "siblings" /proc/cpuinfo|uniq
siblings : 12
判斷是否開啟了抄超執行緒:
如果多個邏輯cpu的"physical id"和"core id"均相同,說明開啟了超執行緒
或者換句話說
邏輯cpu個數 > 物理cpu個數 * cpu核心數 開啟了超執行緒
邏輯cpu個數 = 物理cpu個數 * cpu核心數 沒有開啟超執行緒
一次性查詢所有資訊:
#!/bin/bash
physicalnumber=0
corenumber=0
logicalnumber=0
htnumber=0
logicalnumber=$(grep "processor" /proc/cpuinfo|sort -u|wc -l)
physicalnumber=$(grep "physical id" /proc/cpuinfo|sort -u|wc -l)
corenumber=$(grep "cpu cores" /proc/cpuinfo|uniq|awk -f':' ''|xargs)
htnumber=$((logicalnumber / (physicalnumber * corenumber)))
echo "****** cpu information ******"
echo "logical cpu number : $"
echo "physical cpu number : $"
echo "cpu core number : $"
echo "ht number : $"
echo "*****************************"
執行結果:
Linux 超執行緒
超執行緒技術就是利用特殊的硬體指令,把兩個邏輯核心模擬成兩個物理晶元,讓單個處理器都能使用執行緒級平行計算,進而相容多執行緒作業系統和軟體,減少了cpu的閒置時間,提高的cpu的執行效率。以前的單核心處理器,在同一時間內只可以處理一項工作 執行緒 thread 如果同時要處理一項以上的任務是不可能,...
超執行緒基礎
在我們的os裡,程序是資源分配的最小單位 執行緒是cpu排程的最小單位 1 繼承thread 建立 a extends thread 在a中實現run 啟動 利用繼承自thread 的strart 方法 a a new a a.start 2 實現runnable介面 建立 a implements...
linux檢視是否開啟超執行緒
我們知道intel的cpu擁有超執行緒技術,可以為乙個邏輯核心開啟兩個處理執行緒。通過檢視物理cpu數,每個cpu的邏輯核數,cpu執行緒數可以得知是否開啟了超執行緒。root localhost daxiang cat proc cpuinfo grep physical id sort uniq...