我怎么知道我的Linux是32位还是64位?

时间:2020-01-09 14:16:42  来源:igfitidea点击:

如何确定我的Linux服务器是在32位还是64位系统上运行。
怎么知道我的Linux是32位还是64位?
要检查您的Linux服务器运行的是32位还是64位系统,请尝试以下Linux命令。
打开终端应用程序,然后知道您的系统是32位还是64位,执行命令并按您的要求按[Enter]键:

  • 获取有关Linux上CPU的所有信息,执行:lscpucat/proc/cpuinfo
  • 我正在运行的Linux内核是32位还是64位?运行:getconf LONG_BIT
  • 我的CPU是处于32位还是64位模式?运行:grep -o -w'lm'/proc/cpuinfo |sort -u

让我们查看所有命令以查找Linux是否在32位或64位系统上运行。

我怎么知道我的Linux是32位还是64位?

要了解有关CPU体系结构的信息,请执行以下lscpu命令:

lscpu

找出Linux系统上的CPU是32位还是64位

只需运行以下grep命令:

grep -o -w 'lm' /proc/cpuinfo | sort -u

输出示例:

lm

lm标志表示长模式CPU,即64位CPU。
有关更多信息,请执行以下cat命令以获取有关CPU的完整信息:

cat /proc/cpuinfo
cat /proc/cpuinfo | more

怎么知道我的Linux是32位还是64位?

现在您知道您拥有可以运行32位和64位操作系统的AMD CPU。
但是,如何知道我当前的内核和Linux发行版是64位还是32位?
不要害怕,请运行以下命令:

getconf LONG_BIT
64

getconf命令检查Linux内核是32位还是64位。

其他Linux命令来检查我是否具有32位或64位操作系统

运行以下uname命令:

uname -i

关于GUI方法的注释

打开Linux发行版的"系统设置"窗口,然后选择"详细信息":

使用lshw命令

执行以下lshw命令以列出有关CPU的所有信息:

sudo lshw -c cpu

输出示例:

*-cpu                     
       description: CPU
       product: AMD Ryzen 7 1700 Eight-Core Processor
       vendor: Advanced Micro Devices [AMD]
       physical id: f
       bus info: cpu@0
       version: AMD Ryzen 7 1700 Eight-Core Processor
       serial: Unknown
       slot: AM4
       size: 1302MHz
       capacity: 3750MHz
       width: 64 bits
       clock: 100MHz
       capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca cpufreq
       configuration: cores=8 enabledcores=8 threads=16

检查您的Linux系统是32位还是64位

这是将所有脚本组合在一起的示例脚本:

#!/bin/bash
# Author - , under GPL v2.0+
# Purpose - Quick and dirty way to get info about Linux kernel and CPU bits
# ---------------------------------------------------------------------------
BIT=$(getconf LONG_BIT)
CPU=$(grep -o -w 'lm' /proc/cpuinfo | sort -u)
VER="$(uname -mrs)"
echo "* Linux kernel - $BIT bit"
echo "* Linux kernel version - $VER"
[[ $CPU == "lm" ]] && echo "* CPU - 64 bit"
echo "*** CPU details *** "
lscpu | egrep 'Architecture|CPU|Thread|Core'

输出示例:

* Linux kernel - 64 bit
* Linux kernel version - Linux 5.4.0-45-generic x86_64
* CPU - 64 bit
*** CPU details *** 
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
CPU(s):                          12
On-line CPU(s) list:             0-11
Thread(s) per core:              2
Core(s) per socket:              6
CPU family:                      6
Model name:                      Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz
CPU MHz:                         1000.614
CPU max MHz:                     4600.0000
CPU min MHz:                     800.0000
NUMA node0 CPU(s):               0-11