linux 是32位还是64位?linux最好用的系统

怎么查看linux是32位还是64位

file/lib*/libc-*

因为 Linux的 32、64支持除了内核,还要有对应的函数库才能真正运行。

所以 64位内核但只有 32函数库一样只能跑 32的程序。如果 64位内核和只有 64位函数库环境,那么只能跑 64位的程序。

其实一般来说,看/目录的构成就知道了。有 lib64就是 64位的系统。

当然 32位内核是不能跑 64位函数库和 64位程序的,但依然可以装一套 64位的数据(不过就是一大堆文件而已)。

而且纯 64位,/lib64可以不要 64这个后缀而只要/lib。

不过从大家的习惯来说,64位的系统,必然有/lib64,glibc基本库必然是 libc-*。

我这个命令就是看/lib*目录里面 libc-*文件的文件类型。 libc-*这个看系统,比如我的是 libc-2.17.so。也就是 glibc 2.17的库,这个 glibc是基本C函数库。当前主流系统必须装的。

一般 64位系统,会有一个ELF 64-bit LSB shared object。如果装了 32位兼任库,会在另一个目录里面出现一个ELF 32-bit LSB shared object的 glibc基本库文件。

不过注意的是,glibc只是基本库,很多软件都需要附加的函数库才能真正运行起来的。并不代表有这个文件就肯定可以用。只是这个东西现在是最基本的运行支持要求。

注意 Fedora好像已经取消/lib*、/bin、/sbin这些目录,而是都扔到/usr里面的对应目录中。不过现在依然保留这三个目录的连接来保证兼容。这个命令现在应该还可以用,未来还行不行就不知道了。

龙芯的很多系统就是典型的 64位内核跑 32位环境的样子,这种机器明显的就不能靠 uname来确定支持。必须看系统到底有没有 64位的运行库。

查看linux系统是32位还是64位

方法/步骤

【方法一】切换到root用户

su- root,如下图

【方法二】getconf LONG_BIT

通过命令getconf LONG_BIT获取系统位数,返回32就表示是32位,返回64就表示是64位,如下图

【方法三】uname-a

通过命令uname-a获取系统位数,返回ixxx的全是32位的,有X86_64的全是64位,如下图

【方法四】file/sbin/init或file/bin/ls

通过命令file/sbin/init或file/bin/ls获取系统位数,有32-bit的是32为的,有64-bit的是64位的,如下图

linux32位和64位的区别

第一点设计初衷不同:

64位操作系统的设计初衷是:满足机械设计和分析、三维动画、视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求。换句简明的话说就是:它们是高科技人员使用本行业特殊软件的运行平台。而32位操作系统是为普通用户设计的。

第二点寻址能力不同:

64位处理器的优势还体现在系统对内存的控制上。由于地址使用的是特殊的整数,因此一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。比如,Windows

Vistax64Edition支持多达128GB的内存和多达16TB的虚拟内存,而32位CPU和操作系统最大只可支持4G内存

第三点要求配置不同:

64位操作系统只能安装在64位电脑上(CPU必须是64位的)。同时需要安装64位常用软件以发挥64位(x64)的最佳性能。32位操作系统则可以安装在32位(32位CPU)或64位(64位CPU)电脑上。当然,32位操作系统安装在64位电脑上,其硬件恰似“大马拉小车”:64位效能就会大打折扣。

第四点运算速度不同:

关于32位和64位系统的差别,那真是说来话长,这里我们首先要了解一下CPU的架构技术,通常我们可以看到在计算机硬件上会有X86和X64的标识,其实这是两种不同的CPU硬件架构,x86代表32位操作系统

x64代表64位操作系统。那么这个32位和64位中的“位”又是什么意思呢?相对于32位技术而言,64位技术的这个位数指的是CPU

GPRs(General-Purpose

Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。举个通俗易懂但不是特别准确的例子:32位的吞吐量是1M,而64位吞吐量是2M。即理论上64位系统性能比32位的提高1倍。

阅读剩余
THE END