【Linux】在 Linux 中查询系统架构


那年夏天我和你躲在 这一大片宁静的海

直到后来我们都还在 对这个世界充满期待

今年冬天你已经不在 我的心空出了一块

很高兴遇见你 让我终究明白

回忆比真实精彩

🎵 王心凌《那年夏天宁静的海》


在 Linux 系统中,了解系统架构对于安装软件、调试性能问题以及系统优化至关重要。本文将介绍几种在 Linux 中查询系统架构的方法,包括使用命令行工具和系统信息文件。

什么是系统架构?

系统架构(System Architecture)指的是计算机的硬件结构,包括处理器类型、指令集架构(ISA)、内存和I/O接口等。常见的处理器架构有 x86、x86_64(也称为AMD64)、ARM 等。

使用命令行工具查询系统架构

  1. uname 命令
    uname 命令用于显示系统信息,其中 -m 选项可以显示系统的硬件架构。
bash 复制代码
uname -m
示例输出:
x86_64

这个输出表示系统运行在 64 位的 x86 架构上。

  1. lscpu 命令
    lscpu 命令可以显示详细的 CPU 架构信息,包括架构类型、CPU 数量、线程数、内核数、CPU 频率等。
bash 复制代码
lscpu

示例输出:

less 复制代码
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  2
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               142
Model name:          Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
Stepping:            10
CPU MHz:             2300.000
CPU max MHz:         4600.0000
CPU min MHz:         400.0000
BogoMIPS:            4599.99
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            8192K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
  1. arch 命令
    arch 命令是 uname -m 的简写形式,同样可以用于显示系统架构信息。
bash 复制代码
arch

示例输出:

x86_64
  1. file 命令
    file 命令可以用于检查可执行文件的类型和架构信息。通过检查内核文件,可以确定系统架构。
bash 复制代码
file /bin/bash

示例输出:

bash 复制代码
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=ef3e1c6d3f4ab3e14e06bbfcb1e6d3791a7a7c4c, stripped

使用系统信息文件查询系统架构

  1. /proc/cpuinfo
    /proc/cpuinfo 文件包含有关 CPU 的详细信息,可以用来查询系统架构。
bash 复制代码
cat /proc/cpuinfo

示例输出(部分):

bash 复制代码
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
stepping	: 10
cpu MHz		: 2300.000
cache size	: 8192 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
  1. /proc/version
    /proc/version 文件显示内核版本和编译信息,可以间接了解系统的架构。
bash 复制代码
cat /proc/version

示例输出:

less 复制代码
Linux version 5.4.0-74-generic (buildd@lcy01-amd64-005) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #83-Ubuntu SMP Wed May 12 18:58:09 UTC 2021

总结

了解系统架构对于系统管理和软件开发至关重要。在 Linux 中,有多种方法可以查询系统架构信息,包括使用 uname、lscpu、arch 和 file 命令,以及读取 /proc/cpuinfo 和 /proc/version 文件。通过这些方法,你可以轻松地获取系统的详细架构信息。

相关推荐
啊取名真困难1 分钟前
汇编语言中的内存管理与寻址方式
运维·汇编
XD7429716367 分钟前
如何知道docker谁占用的显卡的显存?
运维·docker·容器
人工智能有点31 分钟前
Jenkins的一些记录
java·linux·ci/cd·jenkins·ci
夏天Aileft33 分钟前
Jenkins通过Squid代理服务器添加局域网节点机器
linux·运维·jenkins
陶然同学1 小时前
【Nginx】源码安装
linux·服务器·nginx
橙子味冰可乐1 小时前
input()函数——输入
linux·服务器·windows·python·tcp/ip·sqlite
小豆同学1985082 小时前
在本地和Linux之间传输文件
linux·运维·服务器
琢瑜2 小时前
Linux-进程间通信(IPC)
linux
大雨淅淅2 小时前
【linux】vim的使用
linux·vim
YCyjs2 小时前
云计算【第一阶段(21)】Linux引导过程与服务控制
linux·运维·服务器·云计算