当我输入时uname -a,它给出以下输出。Linux mars 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:50:33 EDT 2008 i686 i686 i386 GNU/Linux从中我如何知道给定的操作系统是32位还是64位?这在编写configure脚本时非常有用,例如:我要为哪种体系结构构建?
3 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
尝试uname -m。缺少uname --machine它并输出:
x86_64 ==> 64-bit kernel
i686 ==> 32-bit kernel
否则,请键入以下内容,而不是Linux内核,而是CPU:
cat /proc/cpuinfo
要么:
grep flags /proc/cpuinfo
在“标志”参数下,您将看到各种值:请参阅“ / proc / cpuinfo中的标志是什么意思? ”其中一个名为lm:Long Mode(x86-64:amd64,也称为Intel 64,即64位能)
lm ==> 64-bit processor
或使用lshw(如下面萨克森州的罗尔夫(Rolf of Saxony)所述),但不使用sudo(仅用于gpu cpu宽度):
lshw -class cpu|grep "^ width"|uniq|awk '{print $2}'
注意:您可以安装具有32位内核的64位CPU。
(正如ysdx在他/她自己的回答中提到的:“现在,系统可以是多体系结构,因此无论如何它都没有意义。您可能想找到编译器的默认目标”)
- 3 回答
- 0 关注
- 623 浏览
添加回答
举报
0/150
提交
取消