Identificare se la CPU è 32bit o 64bit in Linux
Tendenzialmente dovremmo sapere a priori se il nostro pc monta CPU a 32bit o 64bit.
E, sempre in teoria, quelli moderni sono tutti a 64bit.
Ma se vogliamo esserne sicuri, vediamo come trovare questa informazione in Linux.
Vi posto tutti i comandi che conosco uno di fila all'altro:
# uname -m
x86_64
# lscpu | grep Architecture | awk '{print $2}'
x86_64
# lshw -class cpu
*-cpu
description: CPU
product: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
vendor: Intel Corp.
physical id: 3d
bus info: cpu@0
version: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
slot: SOCKET 0
size: 1739MHz
capacity: 4400MHz
width: 64 bits
clock: 100MHz
capabilities: x86-64 ......
configuration: cores=4 enabledcores=4 threads=8
# getconf LONG_BIT
64
# echo $MACHTYPE
x86_64-unknown-linux-gnu
# echo $HOSTTYPE
x86_64
# file /usr/bin/id | awk '{print $3}'
64-bit
# grep flags /proc/cpuinfo
flags : ... lm ...
flags : ... lm ...
flags : ... lm ...
flags : ... lm ...
flags : ... lm ...
flags : ... lm ...
flags : ... lm ...
flags : ... lm ...
Per quanto riguarda l'ultimo comando, ho messo tutti gli altri flags.
Ho tenuto solo quello che ci interessa, che può avere questi valori:
- lm = Long mode cpu : 64-bit CPU
- tm = Protected mode : 32-bit CPU
- rm = Real Mode : 16-bit CPU
Enjoy!
linux cpu uname proc cpuinfo lshw lscpu getconf
Commentami!