1. 程式人生 > >在 Linux 下判斷系統當前是否開啟了超執行緒

在 Linux 下判斷系統當前是否開啟了超執行緒

#lscpu

Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 2

-----------------------------------------------

在判斷當前是否開啟了超執行緒之前,需要先判斷另外幾個資料:
1,物理CPU個數:

1 2 3 [[email protected] ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq physical id : 0 physical id : 1

可以看到物理CPU個數為2,物理CPU也就是機器外面就能看到的一個個CPU,每個物理CPU還帶有單獨的風扇。
2,每個物理CPU的

邏輯核數:

1 2 [[email protected] ~]# cat /proc/cpuinfo | grep "cores" | uniq cpu cores   : 6

3,系統整個cpu執行緒數:

1 2 [[email protected] ~]# cat /proc/cpuinfo | grep "processor" | wc -l 24

有了三面幾個資料,就可以判斷當前是否開啟了超執行緒了,沒開啟超執行緒的情況下,系統的cpu執行緒數=物理CPU個數*每個物理CPU的邏輯核數*1,因為每個邏輯核只跑了1個cpu執行緒,如果開啟了超執行緒,那麼cpu執行緒數=物理CPU個數*每個物理CPU的邏輯核數*N

,因為每個邏輯核跑了2個cpu執行緒。所以,上面的24=2*6*2,可以判斷當前開啟了超執行緒。

1 2 3 [[email protected] ~]# cat /proc/cpuinfo | grep "model name" | uniq model name  : Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz [[email protected] ~]#
1 2 3 4 5 6 7 8 9 10 [[email protected] ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq
physical id : 0 physical id : 1 [[email protected] ~]# cat /proc/cpuinfo | grep "cores" | uniq cpu cores   : 4 [[email protected] ~]# cat /proc/cpuinfo | grep "processor" | wc -l 8 [[email protected] ~]# cat /proc/cpuinfo | grep "model name" | uniq model name  : Intel(R) Xeon(R) CPU           E5504  @ 2.00GHz [[email protected] ~]#

8=2*4,沒有開啟超執行緒,從Intel的cpuE5504規格頁面(http://ark.intel.com/products/40711/Intel-Xeon-Processor-E5504-%284M-Cache-2_00-GHz-4_80-GTs-Intel-QPI%29)可以看到,其不支援Intel® Hyper-Threading Technology,想開啟都沒法。
另外,根據physical id資訊可以判斷哪些邏輯核在同一個物理核上,因為同一物理核上的邏輯核的physical id相等;而根據core id資訊又可以判斷哪兩個cpu執行緒跑在同一個邏輯核上,因為跑在同一邏輯核上的cpu執行緒的core id相等,但是,由於不同物理核上的邏輯核core id可以相等,所以在進行第二個判斷(即哪兩個cpu執行緒跑在同一個邏輯核上)前需要先進行第一個判斷(即哪些邏輯核在同一個物理核上)。


相關推薦

Linux 判斷系統當前是否開啟執行

#lscpu Thread(s) per core: 2 Core(s) per socket: 6 Socket(s): 2 ----------------------------------------------- 在判斷當前是否開啟了超執行緒之前,

Linux 修改系統當前時間

Linux中date命令使用 檢視系統當前時間,輸入date。修改系統時間,輸入date 功能符號 修改內容。 功能符號描述 -d datestr, --date datestr 顯示由dates

linux系統當前時間前一天命名檔案並打包壓縮

tar --remove-files -zcvf /data/web/log/wififree/term/archive/`date -d"1 day ago" +"%Y%m%d"`.tar.gz  /data/web/log/wififree/term/serialnum

如何在linux判斷web服務是否開啟

對於web服務的開啟的判斷有以下幾種常用方法: 1、埠檢視:     本地:ss,netstat,lsof 1 2 3 4 5 6 7 8 9 10 11 12

如何在Linux找出大量佔用CPU的java執行

首先獲取jvm的程序pid。 [[email protected] ~]$ jps -v 26048 Server -Xms256m -Xmx2048m -Dweblogic.Name=bi_server1 -Djava.security.policy=/home

linux c中怎麼讓才能安全關閉執行

多執行緒退出有三種方式:(1)執行完成後隱式退出;(2)由執行緒本身顯示呼叫pthread_exit 函式退出;    pthread_exit (void * retval) ; (3)被其他執行緒用pthread_cance函式終止:    pthread_cance

linux用eclipse編譯c++的pthread多執行配置

問題:eclipse使用pthread.h遇到“pthread_create”未定義的問題。 解決方法: a.需要在編譯時新增-lpthread引數 $ g++ XXXXX.cpp -lp

Linux一個程序究竟會有多少個執行

最近,在做一個關於聊天伺服器的專案,其中遇到了一個問題,那就是一個程序可以產生多少個執行緒呢? 開始各種想象,會和不同平臺,不同系統相關,網上很多大佬說是1024個,也有256個。 與其無端猜測,不如動手測試一下。在Linux32位平臺,進行測試。 1 #include

linux 如何查看mysql跑哪些服務

位置 netstat host 導致 pro ive comm http lin ps -ef|grep mysql //現查處PID 然後 lsof -p +pid 就可以看到mysql跑的服務 百度出了別人的方法 當遇到mysql很卡,然後又想知

LinuxCenOS系統 安裝Mysql-5.7.19

roo img .rpm undle -1 -c style root ima 1.輸入網址https://www.mysql.com/downloads/,進入downloads,選擇Community 2.選擇對應的版本和系統;

問題-windows的文本文檔在linux查看時開頭多兩個字符的解決辦法及預防辦法

image bom code size 正常 watermark 查看 color sql 問題說明 sql的insert語句,在windows上傳到服務器上,使用heat命令查看時發現文件的開頭多了兩個字符,使用vim編輯時正常; 解決辦法: dos2unix filen

Linux判斷字符串長度

tar 字符串 int 間隔 統計 target 字符 方式 length 方法1:使用wc -L命令 wc -L可以獲取到當前行的長度,因此對於單獨行的字符串可以用這個簡單的方法獲取,另外wc -l則是獲取當前字符串內容的行數。 echo ‘abc‘ |wc

LoadRunner如何監控Linux系統資源

etc sys serve host 下載 系統資源 性能 str login 1. 安裝rsh,rsh-server [root@localhost /]# yum install rsh [root@localhost /]# yum install rsh-serve

linuxOA系統環境配置

entos 信息 linux下 profile loading 系統 系統環境 MF mage 1. 首先檢查環境,查看系統版本以及剩余空間 2. 符合要求後進行Java環境配置,將原有Java刪除,重新安裝適合的版本使用rpm -qa |

linux 查看系統當前時間,修改時間

查看系統 src alt linu 系統時間 TP 當前時間 .com 設定 linux 查看系統當前時間,修改時間1. 查看時間和日期命令 : "date"2.設置時間和日期例如:將系統日期設定成2009年11月3日的命令命令 : "date -s 11/03/2009"

Linux判斷磁盤是SSD還是HDD的幾種方法

linux sdn csdn lin detail .html .com html art https://blog.csdn.net/sch0120/article/details/77725658https://jingyan.baidu.com/article/84b

linux查看當前登陸的用戶數目

登陸 pri 輸入 linu bsp code print who uniq 在shell下輸入以下語句即可獲取: who | awk ‘{print $1}‘ | sort | uniq | wc -l linux下查看當前登陸的用戶數目

Linux檢視系統版本號和核心資訊的方法

本文轉載,侵刪!感謝博主”huoyuanshen”(✈機票點我) 參考URL:http://www.ha97.com/2987.html 簡要:1,lsb_release -a 檢視linux系統版本         &n

linux檢視系統屬性 Linux檢視和新增環境變數

Linux下檢視和新增環境變數 #檢視tomcat安裝路徑 sudo find / -name *tomcat* $PATH:決定了shell將到哪些目錄中尋找命令或程式,PATH的值是一系列目錄,當您執行一個程式時,Linux在這些目錄下進行搜尋編譯連結。   編輯你的 PATH 宣告

linux系統排錯

一、系統的開機過程引導 通電 biso初始化(BIOS是基本輸入輸出系統,bios初始化實際上是執行開機電自檢和系統啟動自舉程式) grub2磁碟引導(硬碟主引導記錄MBR和分割槽表DPT以及磁碟的有效標誌。其中,主引導檢查分割槽表是否正確以及確定哪個分割槽為引導分割槽