REDHAT中如何判斷主機的CPU是32位還是64位的
可以直接檢視/proc/cpuinfo檔案,其中有關於CPU的詳細資訊,包括型號、CACHE、頻率等等,但是沒有地方明確的寫明是32位還是64位的,不過在FLAG那一行有很多的標誌資訊,如果其中有LM標誌,說明這個是64位的CPU,如果沒有,則說明是32位的。
FLAG的詳細的解釋是定義在cpufeature.h標頭檔案中的,裡面關於LM的解釋是Long Mode (x86-64),這個檔案在64位系統上位於/usr/include/asm-x86_64目錄下,在32位系統中位於/usr/include/asm目錄下,下面列一個64位的cpufeature的標頭檔案做個記錄吧
[@more@]#define X86_FEATURE_FPU (0*32+ 0) /* Onboard FPU */
#define X86_FEATURE_VME (0*32+ 1) /* Virtual Mode Extensions */
#define X86_FEATURE_DE (0*32+ 2) /* Debugging Extensions */
#define X86_FEATURE_PSE (0*32+ 3) /* Page Size Extensions */
#define X86_FEATURE_TSC (0*32+ 4) /* Time Stamp Counter */
#define X86_FEATURE_MSR (0*32+ 5) /* Model-Specific Registers, RDMSR, WRMSR */
#define X86_FEATURE_PAE (0*32+ 6) /* Physical Address Extensions */
#define X86_FEATURE_MCE (0*32+ 7) /* Machine Check Architecture */
#define X86_FEATURE_CX8 (0*32+ 8) /* CMPXCHG8 instruction */
#define X86_FEATURE_APIC (0*32+ 9) /* Onboard APIC */
#define X86_FEATURE_SEP (0*32+11) /* SYSENTER/SYSEXIT */
#define X86_FEATURE_MTRR (0*32+12) /* Memory Type Range Registers */
#define X86_FEATURE_PGE (0*32+13) /* Page Global Enable */
#define X86_FEATURE_MCA (0*32+14) /* Machine Check Architecture */
#define X86_FEATURE_CMOV (0*32+15) /* CMOV instruction (FCMOVCC and FCOMI too if FPU present) */
#define X86_FEATURE_PAT (0*32+16) /* Page Attribute Table */
#define X86_FEATURE_PSE36 (0*32+17) /* 36-bit PSEs */
#define X86_FEATURE_PN (0*32+18) /* Processor serial number */
#define X86_FEATURE_CLFLSH (0*32+19) /* Supports the CLFLUSH instruction */
#define X86_FEATURE_DTES (0*32+21) /* Debug Trace Store */
#define X86_FEATURE_ACPI (0*32+22) /* ACPI via MSR */
#define X86_FEATURE_MMX (0*32+23) /* Multimedia Extensions */
#define X86_FEATURE_FXSR (0*32+24) /* FXSAVE and FXRSTOR instructions (fast save and restore */
/* of FPU context), and CR4.OSFXSR available */
#define X86_FEATURE_XMM (0*32+25) /* Streaming SIMD Extensions */
#define X86_FEATURE_XMM2 (0*32+26) /* Streaming SIMD Extensions-2 */
#define X86_FEATURE_SELFSNOOP (0*32+27) /* CPU self snoop */
#define X86_FEATURE_ACC (0*32+29) /* Automatic clock control */
#define X86_FEATURE_IA64 (0*32+30) /* IA-64 processor */
/* AMD-defined CPU features, CPUID level 0x80000001, word 1 */
/* Don't duplicate feature flags which are redundant with Intel! */
#define X86_FEATURE_SYSCALL (1*32+11) /* SYSCALL/SYSRET */
#define X86_FEATURE_MMXEXT (1*32+22) /* AMD MMX extensions */
#define X86_FEATURE_LM (1*32+29) /* Long Mode (x86-64) */
#define X86_FEATURE_3DNOWEXT (1*32+30) /* AMD 3DNow! extensions */
#define X86_FEATURE_3DNOW (1*32+31) /* 3DNow! */
/* Transmeta-defined CPU features, CPUID level 0x80860001, word 2 */
#define X86_FEATURE_RECOVERY (2*32+ 0) /* CPU in recovery mode */
#define X86_FEATURE_LONGRUN (2*32+ 1) /* Longrun power control */
#define X86_FEATURE_LRTI (2*32+ 3) /* LongRun table interface */
/* Other features, Linux-defined mapping, word 3 */
/* This range is used for feature bits which conflict or are synthesized */
#define X86_FEATURE_CXMMX (3*32+ 0) /* Cyrix MMX extensions */
#define X86_FEATURE_K6_MTRR (3*32+ 1) /* AMD K6 nonstandard MTRRs */
#define X86_FEATURE_CYRIX_ARR (3*32+ 2) /* Cyrix ARRs (= MTRRs) */
#define X86_FEATURE_CENTAUR_MCR (3*32+ 3) /* Centaur MCRs (= MTRRs) */
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25016/viewspace-1018405/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 判斷使用的是 x11 還是 wayland
- js 判斷是手機訪問,還是pc訪問JS
- JDK是如何判斷兩個物件是否相同的?判斷的流程是什麼?JDK物件
- 判斷當前訪問的使用者是 PC端 還是 手機端
- Linux下判斷磁碟是SSD還是HDD的3種方法Linux
- ionic-判斷是裝置時手機還是平板(iPad,tablet)iPad
- JS 判斷客戶端是iOS還是AndroidJS客戶端iOSAndroid
- fastjson判斷JSON字串是Object還是List<Object>ASTJSON字串Object
- JAVA關於判斷年份是閏年還是平年的問題Java
- 如何判斷頁面是pc端還是移動端,進入不同的頁面
- Spring動態代理的生成-如何判斷是使用JDK動態代理還是CGlib代理SpringJDKCGLib
- cv2 判斷圖片是冷還是暖
- python 判斷變數是數字型還是字元型Python變數字元
- PHP判斷是手機移動端訪問還是PC端訪問的函式PHP函式
- 怎麼判斷Win10系統中硬碟是SSD還是HDDWin10硬碟
- vue 判斷使用者處於手機還是PCVue
- 如何判斷雲虛擬主機的好壞?
- windows 之醬紫判斷是UEFI還是legacy啟動Windows
- javascript中怎麼判斷某變數是null,undefined,還是不存這個變數 ? 以及變數是array 還是 object 還是 null ?JavaScript變數NullUndefinedObject
- 判斷javaScript變數是Ojbect型別還是Array型別JavaScript變數型別
- javascript如何判斷Object是空物件JavaScriptObject物件
- this是什麼以及如何判斷它
- 判斷客戶端是iOS還是Android,判斷是不是在微信瀏覽器開啟客戶端iOSAndroid瀏覽器
- 判斷在移動端還是PC開啟
- 建站的時候選擇雲主機還是vps主機?
- python 如何判斷一組數呈上升還是下降趨勢Python
- 筆記: 判斷lib庫是動態庫還是靜態庫筆記
- 【ASP】判斷是否是手機訪問
- 傳入http請求的UserAgent 根據它判斷是手機還是電腦傳送過來的請求HTTP
- CPU對指令長度的判斷
- 如何判斷FMEA的存在是否還有意義?
- CPU選購應該注重主頻,還是核心數量? CPU主頻越高越好嗎?
- 啥是雲主機,雲主機是啥樣的?
- python如何判斷一個物件是否是列表Python物件
- 判斷是什麼字元字元
- 如何判斷lib和dll是32位還是64位?答案是使用微軟的dumpbin工具,後面講了如何使用gcc生成lib和dll微軟GC
- 判斷是否是陣列的幾種方法陣列
- 判斷日期是該年的第幾天