[轉]解決系統CPU個數識別不正確的問題
http://blog.chinaunix.net/space.php?uid=2469966&do=blog&id=2595410
感謝原作者
(2010-04-19 17:09)
(2010-04-19 17:09)
分類: LINUX系統管理
目前
伺服器上配置的CPU是越來越多,並且,單個物理CPU中也包括了更多的核心。以Intel
E5504為例,一個CPU就擁有4個核心,併發的速度得到明顯的提高。其中,部分CPU還同時擁有超執行緒技術,這樣,系統中識別出來的核心數量會更多。
要讓系統正確的識別出所有可用的CPU核心,系統使用Linux
kernel是個關鍵,例如使用smp或largesmp,開啟kernel編譯時的支援等。當然,kernel越新,相容性通常會更好。但 我接下來要舉出的案例,確與kernel關係不大,因此該kernel(紅旗 DC Server 5.0 SP3)已經被確認可支援多大64個物理core,而且支援雙核、四核、六核等架構。該問題的解決過程,由zhengyiyun#redflag- linux.com提供,我覺得相當值得借鑑。
一、故障現象
伺服器型號為:浪潮NF5220
板載一顆Intel E5504的CPU,但安裝紅旗 DC Server 5.0 SP3後,發現從系統中只能看到2個CPU:
引用
# cat /proc/cpuinfo|grep processor
processor : 0
processor : 1
processor : 0
processor : 1
二、故障處理
1、使用dmidecode分析cpu資訊
# dmidecode |grep -A42 "Processor"|more
-A42表示顯示grep匹配後,緊跟下面42行的資訊(After),可根據dmidecode命令顯示的具體資訊內容輸入。
從該命令中,發現有如下資訊:
(1)共中第三個是Status: Populated, Enabled這表明只認到一個CPU, 其它三個認到了,但是沒有啟用。其它三個是Status: Populated, Disabled By User
(2)CPU資訊:
引用
Version:Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
......
Status: Populated, Disabled By BIOS
......
Status: Populated, Disabled By BIOS
提示的很清楚,被BIOS禁用,還有一個是被User禁用。當然,Bios禁用,也有可能是主機板問題,比如介面故障造成這種現象。
(3)檢視dmesg內容,dmesg裡面也是顯示只啟用了2個CPU: “Brought up 2 CPUs” 。
二、解決故障
檢視BIOS裡的設定。
在bios中cpu配置中存在active Processor cores 2,將其改為active Processor cores all。
改完BIOS之後,儲存。建議斷電休息一分鐘(把整個機器斷電一分鐘以上)。
重新啟動伺服器後,檢視cpu顯示正常,問題解決。
※ 當然,這僅是一個關於CPU的案例,我只是希望透過這個案例告訴大家,類似的硬體識別問題,除懷疑Linux kernel不支援該硬體外,還需要考慮物理硬體本身的配置、設定等。不同的作業系統,例如Windows、Linux,其識別的結果也可能存在差異的, 但不妨可作為考慮資訊之一。
三、關於cpuinfo
使用cat命令檢視/proc/cpuinfo,可得到當前伺服器上CPU的物理資訊。由於從top等命令中,是無法識別物理CPU數量、核心數量、超執行緒數量等準確的資訊的,因此請特別留意一下。
引用
processor : 0 ←系統顯示的邏輯CPU數量,包括超執行緒、多核等複合後的結果
vendor_id : GenuineIntel
cpu family : 6
model : 26
model name : Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
stepping : 5
cpu MHz : 2000.455
cache size : 4096 KB
physical id : 1 ←這是板載物理實際CPU的ID號,即實際插入主機板socket的CPU編號(從外面看到的)
siblings : 2 ←這是板載物理CPU中邏輯CPU的數量,如果多核的核心支援超執行緒,則為核心*2
core id : 8 ←這是每個核心的ID,多核的編號
cpu cores : 2 ←這是單個板載物理CPU中包含的核心個數,多核指的就是這個數量(從外面看不到的)
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc pni monitor ds_cpl est tm2 xtpr popcnt
bogomips : 4002.74
vendor_id : GenuineIntel
cpu family : 6
model : 26
model name : Intel(R) Xeon(R) CPU E5504 @ 2.00GHz
stepping : 5
cpu MHz : 2000.455
cache size : 4096 KB
physical id : 1 ←這是板載物理實際CPU的ID號,即實際插入主機板socket的CPU編號(從外面看到的)
siblings : 2 ←這是板載物理CPU中邏輯CPU的數量,如果多核的核心支援超執行緒,則為核心*2
core id : 8 ←這是每個核心的ID,多核的編號
cpu cores : 2 ←這是單個板載物理CPU中包含的核心個數,多核指的就是這個數量(從外面看不到的)
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc pni monitor ds_cpl est tm2 xtpr popcnt
bogomips : 4002.74
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/161195/viewspace-1056292/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 數字型別的不正確轉換漏洞型別
- EF Power Tools引數不正確的解決方法
- JSON.stringify轉換Date不正確的解決方法JSON
- 捕獲問題SQL解決過度CPU消耗問題-- 轉載SQL
- js在Android的WebView中parseInt轉換不正確解決方法JSAndroidWebView
- 解決WinXP中CPU佔用率過高的問題(MaxWorkitems)(轉)
- 解決Windows XP中CPU佔用率過高的問題(轉)Windows
- Windows XP 系統疑難問題巧解決(轉)Windows
- win10系統下迅雷出現並行配置不正確怎麼解決Win10並行
- mysql怎麼設定密碼都不正確的一個解決方法MySql密碼
- 異常解決:idea Java 動態編譯失敗,獲取classpath屬性不正確問題解決IdeaJava編譯
- JBuilder Editor中游標不能正確定位問題的解決 (轉)UI
- Master Exam中答案不正確的題AST
- Linux系統中CPU佔用率較高問題排查思路與解決方法Linux
- 解決問題的8個步驟-轉載
- 如何捕獲問題SQL解決過度CPU消耗的問題SQL
- win10系統安裝驅動出現inf語法不正確的最佳解決方法Win10
- 解決idea中無法識別主類的問題Idea
- 解決HBuilder X識別不了魅族手機的問題UI
- [轉]Linux系統出現亂碼問題的終極解決方法(轉)Linux
- Linux系統初學者的常見問題解決集結(轉)Linux
- 解決實名軟體造成的 XP系統崩潰問題(轉)
- Linux系統下查CPU個數的方法Linux
- 人臉識別系統智慧公安警務系統解決方案
- 教你兩招解決EOS CPU短缺問題
- 程式碼安全測試第二十四期:數字型別的不正確轉換漏洞型別
- ipf導致sendmail不能正確轉發郵件的問題解決AI
- 解決一個.NET聯接SQL的問題 (轉)SQL
- 解決生產庫date欄位顯示不正確
- 解決中文問題的幾個常用的函式 (轉)函式
- Springboo3 Knife4j引數解析顯示不正確問題Spring
- 深度學習也解決不掉語音識別問題深度學習
- iOS Abort問題系統性解決方案iOS
- 幽默:程式設計中困難的不是解決問題,而是確定要解決的問題 - Paul程式設計
- 用PriorityQueue解決選擇最小的K個數問題
- 檢視Linux系統CPU個數和核數Linux
- 【轉】css解決相容的問題CSS
- 如何捕獲問題SQL解決過度CPU消耗問題 (zt)SQL