Linux 内核与架构速查
博主博客
本文主要记录查询 Linux 计算机的内核与架构, 用于下载对应架构的第三方软件。
一、介绍
如上图所示, 有时候我们下载一些第三方软件, 软件会有很多中架构, 需要自己自行判断自己的计算机架构, 然后下载对应的文件, 下载错误就会运行不了。
目前常用的 CPU
架构有: x86
、ARM
、MIPS
、Alpha
。
其中, 几种 CPU
架构的特点对比如下图所示:
二、查询内核版本
[root@nukix ~]# cat /proc/version
Linux version 4.18.0-408.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.5.0 20210514 (Red Hat 8.5.0-14) (GCC)) #1 SMP Mon Jul 18 17:42:52 UTC 2022
阿里云 amd64
的服务器, 用 cat /proc/version
可以看到 x86_64
也就是 64 位处理器。
三、查询系统信息
[root@nukix ~]# uname -a
Linux nukix 4.18.0-408.el8.x86_64 #1 SMP Mon Jul 18 17:42:52 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@nukix ~]# uname -m
x86_64
[root@nukix ~]# uname -r
4.18.0-408.el8.x86_64
阿里云 amd64
的服务器, 用 uname -a
可以看到 x86_64
也就是 64 位处理器。
用 uname -m
就更简洁, 返回 x86_64
就是 64 位处理器, 返回 i386
就是 32 位处理器。
用 uname -r
返回内核版本号, 比如上面返回 4.18.0-408.el8.x86_64
, 说明当前系统内核版本为 4.18.0-408
。
四、查看当前系统的发行版信息
[root@nukix ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOSStream
Description: CentOS Stream release 8
Release: 8
Codename: n/a
阿里云 amd64
的服务器, 用 lsb_release -a
可以看到 amd64
架构,同时还返回系统版本代号、发行版描述、发行版 ID、发行版发布号等。
五、查询系统的架构
nukix@nukixNAS:~$ dpkg --print-architecture
amd64
[root@nukix ~]# arch
x86_64
[root@nukix ~]# hostnamectl
Static hostname: nukix
Icon name: computer-vm
Chassis: vm
Machine ID: 00000000000000000000000000000008
Boot ID: 00000000000000000000000000000003
Virtualization: kvm
Operating System: CentOS Stream 8
CPE OS Name: cpe:/o:centos:centos:8
Kernel: Linux 4.18.0-408.el8.x86_64
Architecture: x86-64
群晖 DS920+
, 用 dpkg --print-architecture
可以看到是 amd64
架构。
阿里云 amd64
的服务器, 用 arch
可以看到 x86_64
也就是 64 位处理器。
用 hostnamectl
直接可以看到操作系统、内核信息、架构等信息。
六、查看操作系统位数
[root@nukix ~]# getconf LONG_BIT
64
[root@nukix ~]# getconf WORD_BIT
32
32 位系统 int
类型和 long
类型一般都是 4 字节, 也就是 32 位。
64 位系统 int
类型一般都是 4 字节, 也就是 32 位; long
类型一般都是 8 个字节, 也就是 64 位。
七、查看 CPU 信息
[root@nukix ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
stepping : 1
microcode : 0x1
cpu MHz : 2499.996
cache size : 40960 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 20
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit
bogomips : 4999.99
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
其中,
-
processor: 系统中逻辑处理核心数的编号,从0开始排序。
-
vendor_id: CPU制造商
-
cpu family: CPU产品系列代号
-
model: CPU属于其系列中的哪一代的代号
-
model name: CPU属于的名字及其编号、标称主频
-
stepping: CPU属于制作更新版本
-
cpu MHz: CPU的实际使用主频
-
cache size: CPU二级缓存大小
-
physical id: 单个物理CPU的标号
-
siblings: 单个物理CPU的逻辑CPU数。siblings=cpu cores [*2]。
-
core id: 当前物理核在其所处CPU中的编号,这个编号不一定连续。
-
cpu cores: 该逻辑核所处CPU的物理核数。比如此处cpu cores 是4个,那么对应core id 可能是 1、3、4、5。
-
apicid: 用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
-
fpu: 是否具有浮点运算单元(Floating Point Unit)
-
fpu_exception: 是否支持浮点计算异常
-
cpuid level: 执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
-
wp: 表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
-
flags: 当前CPU支持的功能
-
bogomips: 在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
-
clflush size: 每次刷新缓存的大小单位
-
cache_alignment: 缓存地址对齐单位
-
address sizes: 可访问地址空间位数
-
power management: 对能源管理的支持
[root@nukix ~]# lscpu
架构: x86_64
CPU 运行模式: 32-bit, 64-bit
字节序: Little Endian
CPU: 1
在线 CPU 列表: 0
每个核的线程数: 1
每个座的核数: 1
座: 1
NUMA 节点: 1
厂商 ID: GenuineIntel
BIOS Vendor ID: Alibaba Cloud
CPU 系列: 6
型号: 79
型号名称: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
BIOS Model name: pc-i440fx-2.1
步进: 1
CPU MHz: 2499.996
BogoMIPS: 4999.99
超管理器厂商: KVM
虚拟化类型: 完全
L1d 缓存: 32K
L1i 缓存: 32K
L2 缓存: 256K
L3 缓存: 40960K
NUMA 节点0 CPU: 0
标记: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti ibrs ibpb stibp fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap xsaveopt arat
八、Windows 查询系统信息
C:\Users\nukix>systeminfo
主机名: F334
OS 名称: Microsoft Windows 11 家庭版
OS 版本: 10.0.22621 暂缺 Build 22621
OS 制造商: Microsoft Corporation
OS 配置: 独立工作站
OS 构建类型: Multiprocessor Free
注册的所有人: nukix
注册的组织:
产品 ID: 00000-00000-00000-00000
初始安装日期: 2022/9/23, 23:07:20
系统启动时间: 2023/8/18, 10:08:42
系统制造商: Parallels International GmbH.
系统型号: Parallels ARM Virtual Machine
系统类型: ARM64-based PC
处理器: 安装了 4 个处理器。
[01]: ARMv8 (64-bit) Family 8 Model 0 Revision 0 ~3200 Mhz
[02]: ARMv8 (64-bit) Family 8 Model 0 Revision 0 ~3200 Mhz
[03]: ARMv8 (64-bit) Family 8 Model 0 Revision 0 ~3200 Mhz
[04]: ARMv8 (64-bit) Family 8 Model 0 Revision 0 ~3200 Mhz
BIOS 版本: Parallels International GmbH. 18.3.2 (53621), 1601/1/1
Windows 目录: C:\Windows
系统目录: C:\Windows\system32
启动设备: \Device\HarddiskVolume2
系统区域设置: zh-cn;中文(中国)
输入法区域设置: zh-cn;中文(中国)
时区: (UTC+08:00) 伊尔库茨克
物理内存总量: 6,139 MB
可用的物理内存: 2,469 MB
虚拟内存: 最大值: 6,523 MB
虚拟内存: 可用: 2,981 MB
虚拟内存: 使用中: 3,542 MB
页面文件位置: C:\pagefile.sys
域: WORKGROUP
登录服务器: \\F334
修补程序: 安装了 4 个修补程序。
[01]: KB5028948
[02]: KB5029263
[03]: KB5028320
[04]: KB5028756
网卡: 安装了 1 个 NIC。
[01]: Parallels VirtIO Ethernet Adapter
连接名: 以太网
启用 DHCP: 是
DHCP 服务器: 10.168.0.1
IP 地址
[01]: 10.168.0.37
[02]: fe80::dfbb:24f2:fe62:4467
Hyper-V 要求: 已检测到虚拟机监控程序。将不显示 Hyper-V 所需的功能。
在 Windows
的命令行中输入 systeminfo
即可拿到系统的信息。