5.9 KiB
5.9 KiB
1、硬件管理概览
在 Linux 中查看硬件信息,常见关注点主要有三类:
- CPU:核心数、线程数、架构、缓存、是否虚拟化
- 内存:总量、可用量、缓存、Swap 使用情况
- 磁盘:设备、分区、文件系统类型、挂载点
做系统巡检或排障时,通常也是按这个顺序查看。
2、查看 CPU 信息
2.1 使用 lscpu
lscpu 是查看 CPU 信息最直观的命令,适合快速了解当前机器的处理器概况。
[root@tencentos ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz
CPU MHz: 2494.140
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
L3 cache: 36608K
2.2 重点字段说明
Architecture:CPU 架构,例如x86_64表示 64 位架构CPU op-mode(s):CPU 支持运行 32 位和 64 位操作系统CPU(s):逻辑 CPU 数量,不一定等于物理核心数Thread(s) per core:每个核心的线程数,开启超线程时通常大于 1Core(s) per socket:每个物理 CPU 的核心数Socket(s):物理 CPU 颗数Model name:CPU 型号Hypervisor vendor:当前是否运行在虚拟化环境中,例如 KVML1/L2/L3 cache:不同层级的 CPU 缓存大小
2.3 使用 /proc/cpuinfo
如果你想看更底层、更详细的信息,可以直接查看:
[root@tencentos ~]# cat /proc/cpuinfo
这个文件会按每个逻辑 CPU 分别列出详细参数,例如:
processor:逻辑 CPU 编号vendor_id:CPU 厂商model name:CPU 型号名称cpu MHz:当前频率cache size:缓存大小flags:CPU 支持的指令集特性bugs:已知 CPU 漏洞或风险标记address sizes:物理地址和虚拟地址位数
2.4 使用场景建议
- 快速巡检:优先用
lscpu - 查看更细节的 CPU 参数:使用
/proc/cpuinfo - 判断是否是虚拟机:关注
Hypervisor vendor - 判断核心、线程、物理 CPU 数:结合
CPU(s)、Thread(s) per core、Core(s) per socket、Socket(s)一起看
3、查看内存信息
3.1 使用 free -h
free 是查看内存最常用的命令,-h 可以用更适合阅读的单位显示。
[root@tencentos ~]# free -h
total used free shared buff/cache available
Mem: 1.7Gi 323Mi 341Mi 35Mi 1.0Gi 1.2Gi
Swap: 0B 0B 0B
3.2 重点字段说明
total:内存总量used:已使用内存free:完全空闲的内存shared:共享内存buff/cache:被缓冲区和页缓存占用的内存available:当前可供应用程序使用的内存,通常比free更有参考价值Swap:交换分区使用情况
3.3 使用 /proc/meminfo
如果需要更完整的内存明细,可以查看:
[root@tencentos ~]# cat /proc/meminfo
其中比较常见的字段有:
MemTotal:物理内存总量MemFree:当前空闲内存MemAvailable:当前可用内存Buffers:块设备缓冲区使用量Cached:页缓存使用量SwapTotal:Swap 总量SwapFree:Swap 剩余量Slab:内核 slab 缓存占用Dirty:等待写回磁盘的数据量
3.4 排障时怎么看内存
- 日常巡检时优先看
free -h - 不要只盯着
free,应重点关注available - 如果
Swap持续上升,通常需要关注内存压力 - 如果想进一步排查缓存、页表、HugePages 等问题,再看
/proc/meminfo
4、查看磁盘与分区信息
4.1 使用 lsblk
lsblk 用于查看块设备、分区和挂载关系,是查看磁盘结构时最常用的命令之一。
[root@tencentos ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 50G 0 disk
└─vda1 253:1 0 50G 0 part /
4.2 重点字段说明
NAME:设备名称MAJ:MIN:主设备号和次设备号RM:是否可移动设备,1表示是,0表示否SIZE:设备或分区大小RO:是否只读TYPE:设备类型,例如disk、partMOUNTPOINT:挂载点
4.3 使用 /proc/partitions
[root@tencentos ~]# cat /proc/partitions
major minor #blocks name
253 0 52428800 vda
253 1 52427759 vda1
这个文件更偏底层,适合查看系统识别到的块设备和分区情况。
4.4 使用 blkid
blkid 可以查看设备的文件系统类型、UUID、分区 UUID 等信息。
[root@tencentos ~]# blkid
/dev/vda1: UUID="ded6c45d-0699-43e5-bc44-f31c21449dcc" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="5f3d9d70-01"
4.5 blkid 常见用途
- 查看文件系统类型,例如
ext4、xfs - 获取
UUID,便于写入/etc/fstab - 排查磁盘挂载失败、设备识别异常等问题
5、常用巡检思路
如果只是做一次简单的硬件巡检,通常可以按下面的顺序:
5.1 看 CPU
lscpu
关注:架构、核心数、线程数、虚拟化信息。
5.2 看内存
free -h
关注:总量、可用内存、Swap 是否被使用。
5.3 看磁盘
lsblk
blkid
关注:磁盘和分区结构、挂载点、文件系统类型。
6、小结
lscpu适合快速查看 CPU 总体情况/proc/cpuinfo更详细,适合深入分析 CPU 参数free -h是查看内存使用最常用的命令/proc/meminfo提供更细的内存统计信息lsblk适合看块设备和挂载关系blkid适合看 UUID 和文件系统类型
这几个命令已经能覆盖 Linux 中大部分基础硬件巡检场景。