LinuxでCPUアーキテクチャ(32ビットまたは64ビット)を調べる方法
64ビットアプリケーションは32ビットシステムでは実行できないため、サーバーのCPUアーキテクチャが32ビットまたは64ビットであるかどうかを知ることは非常に重要ですが、32ビットアプリケーションは64ビットシステムで簡単に実行できます。
ファイル/proc/cpuinfoを使用してLinuxシステムCPUアーキテクチャを決定することができます。:
# cat /proc/cpuinfo | grep -i flagsflags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc up rep_good pni monitor ssse3 lahf_lm
上記の出力では、lm、tm、またはrmのいずれかを見ることができます。
:
- lm:ロングモード(64ビット)
- tm:トランスペアレントモード(32ビット)
- rm:リアルモード(16ビット)
したがって、上記の出力によると、サーバーのCPUは64ビットです。
/proc/cpuinfoとは別に、lscpuコマンドを使用してCPUアーキテクチャを確認することもできます。 また、LSHWコマンドを使用してCPUアーキテクチャを表示し、次のコマンドを実行し、出力でwidthパラメータを探すこともできます,
# lshw --class processor
dmidecodeコマンドを使用してCPUアーキテクチャを検索
下のdmidecodeコマンドを実行し、出力でCPUアーキテクチャが64ビットか32ビットかを示す”Characteristics:”パラメータを探します
# dmidecode -t processor
与えられたLinuxが32ビットか64ビットかを判断しますか?
lscpu、’uname-m’、getconf
# lscpu
のようなコマンドを使用して、インストールされているLinuxシステムが32ビットか64ビットかを見つけることができます。
アーキテクチャ:x86_64
CPU op-mode cpu:4
オンラインcpuリスト:0-3
コアあたりのスレッド:2
ソケットあたりのコア:2
ソケット:1
NUMAノード:1
ベンダー ID:GenuineIntel
CPU:4
オンライ3123>CPUファミリ:6
モデル: 仮想化:VT-x
L1Dキャッシュ:32K
L1Iキャッシュ:32K
L2キャッシュ:256K
L3キャッシュ:3072K
NUMA node0CPU(s):37
ステップ:5
CPU MHz:933.000
BogoMIPS:4787.82
仮想化:VT-x
L1Dキャッシュ:32K
L1Iキャッシュ:32K
L2キャッシュ:256K
L3キャッシュ:3072K
NUMA node0CPU(s):32K
L1Iキャッシュ:32K
L2キャッシュ:256K
NUMA node0CPU(s): 0-3
# uname -m x86_64
x86_64–>64ビットkernel
i686->32ビットkernel
上記のコマンドは、カーネルのバージョンが32ビットか64ビットかを表示します
# getconf LONG_BIT 64
getconfコマンドの助けを借りて、インストー