如何确定系统启用了 32 位还是 64 位功能

  1. 使用 isainfo 命令可确定系统启用了 32 位还是 64 位功能。

    # isainfo options
    
    当运行未指定任何选项的 isainfo 命令时,将显示当前 OS 版本所支持应用程序的本机指令集的一个或多个名称。
    -v
    列显有关其他选项的详细信息。
    -b
    列显本机指令集的地址空间中的位数。
    -n
    列显当前版本的 OS 支持的可移植应用程序所使用的本机指令集的名称。
    -k
    列显 OS 内核组件(例如设备驱动程序和 STREAMS 模块)所使用的一个或多个指令集的名称。

    注 –
    在基于 x86 的系统中,也可以使用 isalist 命令来显示此信息。


示例 1 SPARC: 确定系统启用了 32 位还是 64 位功能

在运行以前的 Oracle Solaris OS 发行版(使用 32 位内核)的 UltraSPARC 系统中,isainfo 命令的输出如下所示:

$ isainfo -v
32-bit sparc applications
此输出表明,该系统只能支持 32 位应用程序。
在当前的 Oracle Solaris OS 发行版中,只有基于 SPARC 的系统才提供 64 位内核。在运行 64 位内核的 UltraSPARC 系统中,isainfo 命令的输出如下所示:

$ isainfo -v
64-bit sparcv9 applications 
32-bit sparc applications
此输出表明,该系统既可以支持 32 位应用程序,又可以支持 64 位应用程序。
使用 isainfo -b 命令可以显示正在运行的系统中的本机应用程序所支持的位数。
在运行 32 位 Oracle Solaris OS 的基于 SPARC 的系统、基于 x86 的系统或 UltraSPARC 系统中,isainfo 命令的输出如下所示:

$ isainfo -b
32
在运行 64 位 Oracle Solaris OS 的 64 位 UltraSPARC 系统中,isainfo 命令的输出如下所示:

$ isainfo -b
64
该命令只返回 64。即使 64 位 UltraSPARC 系统可以运行两种类型的应用程序,64 位应用程序也是最适合在 64 位系统中运行的应用程序。


示例 2 x86: 确定系统启用了 32 位还是 64 位功能

在运行 64 位内核的基于 x86 的系统中,isainfo 命令输出如下所示:

$ isainfo
amd64 i386
此输出表明,该系统可以支持 64 位应用程序。
使用 isainfo -v 命令可以确定基于 x86 的系统是否能够运行 32 位内核。

$ isainfo -v
64-bit amd64 applications
        fpu tsc cx8 cmov mmx ammx a3dnow a3dnowx fxsr sse sse2 
32-bit i386 applications
        fpu tsc cx8 cmov mmx ammx a3dnow a3dnowx fxsr sse sse2 
此输出表明,该系统既可以支持 64 位应用程序,又可以支持 32 位应用程序。
使用 isainfo -b 命令可以显示正在运行的系统中的本机应用程序所支持的位数。
在运行 32 位 Oracle Solaris OS 的基于 x86 的系统中,isainfo 命令的输出如下所示:

$ isainfo -b
32
在运行 64 位 Oracle Solaris OS 的基于 x86 的系统中,isainfo 命令的输出如下所示:

$ isainfo -b
64
您也可以使用 isalist 命令,来确定基于 x86 的系统是以 32 位模式还是以 64 位模式运行。

$ isalist
amd64 pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
在上面的示例中,amd64 表示系统启用了 64 位功能。