快速了解 Linux 系统硬件信息的三个命令

152 阅读4分钟

前言

在日常运维和系统管理中,了解和监控服务器的硬件信息是非常重要的。本文将介绍三个常用的命令来快速获取 Linux 系统的硬件信息,并详细分析每个命令的输出结果。

1. lscpu 命令

介绍

lscpu 是一个显示有关 CPU 架构信息的命令。它直接从 /proc/cpuinfo 文件读取数据,并以人类可读的格式显示。

命令输出分析

以下是 lscpu 命令的输出示例:

[root@rocky docker]# lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         45 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  16
  On-line CPU(s) list:   0-15
Vendor ID:               GenuineIntel
  BIOS Vendor ID:        GenuineIntel
  Model name:            Intel(R) Xeon(R) CPU E5-2696 v3 @ 2.30GHz
    BIOS Model name:     Intel(R) Xeon(R) CPU E5-2696 v3 @ 2.30GHz
    CPU family:          6
    Model:               63
    Thread(s) per core:  1
    Core(s) per socket:  16
    Socket(s):           1
    Stepping:            2
    BogoMIPS:            4589.37
    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 arch_perfmon nopl
                          xtopology tsc_reliable 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 pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt arat md_clear flush_l1d arch_capabilities
Virtualization features:
  Hypervisor vendor:     VMware
  Virtualization type:   full
Caches (sum of all):
  L1d:                   512 KiB (16 instances)
  L1i:                   512 KiB (16 instances)
  L2:                    4 MiB (16 instances)
  L3:                    45 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-15
Vulnerabilities:
  Gather data sampling:  Not affected
  Itlb multihit:         KVM: Mitigation: VMX unsupported
  L1tf:                  Mitigation; PTE Inversion
  Mds:                   Mitigation; Clear CPU buffers; SMT Host state unknown
  Meltdown:              Mitigation; PTI
  Mmio stale data:       Mitigation; Clear CPU buffers; SMT Host state unknown
  Retbleed:              Not affected
  Spec rstack overflow:  Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP disabled, RSB filling, PBRSB-eIBRS Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected
  • Architecture: 系统架构,本文为 x86_64
  • CPU op-mode(s): 支持的操作模式,32 位和 64 位。
  • Address sizes: 地址空间大小,物理地址 45 位,虚拟地址 48 位。
  • Byte Order: 字节序,本文为小端序。
  • CPU(s): CPU 核心数,本文为 16 核。
  • On-line CPU(s) list: 在线 CPU 列表,0 到 15。
  • Vendor ID: CPU 厂商 ID,本文为 GenuineIntel
  • Model name: CPU 型号名,本文为 Intel(R) Xeon(R) CPU E5-2696 v3 @ 2.30GHz
  • Thread(s) per core: 每个核心的线程数,本文为 1。
  • Core(s) per socket: 每个插槽的核心数,本文为 16。
  • Socket(s): 插槽数量,本文为 1。
  • BogoMIPS: 一个粗略的 CPU 测试指标,本文为 4589.37。
  • Flags: 列出了支持的 CPU 特性和指令集扩展。
  • Caches: 缓存信息,L1d 和 L1i 为 512 KiB,L2 为 4 MiB,L3 为 45 MiB。
  • NUMA: 非一致性内存访问架构,本文为 1 个 NUMA 节点。
  • Vulnerabilities: 列出了常见的 CPU 漏洞及其缓解措施。

2. free -h 命令

介绍

free 命令用于显示系统的内存使用情况。-h 选项表示以人类可读的格式显示输出。

命令输出分析

以下是 free -h 命令的输出示例:

[root@rocky docker]# free -h
               total        used        free      shared  buff/cache   available
Mem:            62Gi       1.1Gi        61Gi       8.0Mi       643Mi        61Gi
Swap:             0B          0B          0B
  • total: 总内存,本文为 62 GiB。
  • used: 已使用内存,本文为 1.1 GiB。
  • free: 空闲内存,本文为 61 GiB。
  • shared: 共享内存,本文为 8.0 MiB。
  • buff/cache: 缓冲区和缓存使用的内存,本文为 643 MiB。
  • available: 可用内存,本文为 61 GiB。
  • Swap: 交换分区信息,本文没有交换分区。

3. lsblk 命令

介绍

lsblk 命令用于列出所有可用的块设备及其挂载点信息。

命令输出分析

以下是 lsblk 命令的输出示例:

[root@rocky docker]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda           8:0    0    1T  0 disk
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0 1023G  0 part
  ├─rl-root 253:0    0 1013G  0 lvm  /
  └─rl-swap 253:1    0   10G  0 lvm
sr0          11:0    1 1024M  0 rom
  • NAME: 设备名称,sda 表示第一个 SCSI 磁盘,sr0 表示光驱。
  • MAJ:MIN: 设备的主、次编号。
  • RM: 是否为可移动设备,0 表示否,1 表示是。
  • SIZE: 设备大小,sda 为 1 TiB,sr0 为 1024 MiB。
  • RO: 只读标志,0 表示可读写,1 表示只读。
  • TYPE: 设备类型,disk 表示磁盘,part 表示分区,lvm 表示逻辑卷。
  • MOUNTPOINTS: 挂载点,/boot 挂载在 sda1,根文件系统挂载在 rl-root,交换分区为 rl-swap

总结

通过 lscpufree -hlsblk 这三个命令,我们可以快速获取系统的 CPU 信息、内存使用情况以及磁盘布局和挂载点信息。这些信息对于系统性能调优、故障排除和资源管理都非常有用。希望本文能帮助你更好地理解和使用这些命令。