Linux 上 CPU 信息怎么获取?这6条命令不能忘记!

在 Linux 系统中,获取 CPU 信息是系统管理员、开发人员以及性能调优专家的常见任务。了解 CPU 的详细信息可以帮助你更好地管理系统资源、排查性能问题以及优化应用程序。本文将详细介绍 6 条关键命令,帮助你在 Linux 系统上获取 CPU 信息。
lscpu:提供总体的 CPU 架构信息。
cat /proc/cpuinfo:详细列出每个逻辑处理器的信息。
top:实时监控 CPU 使用情况。
htop:增强的 top,具有更友好的界面。
mpstat:报告各个 CPU 的统计信息。
dmesg | grep -i cpu:查看内核日志中的 CPU 信息。
1. lscpu
lscpu 是一个简洁而强大的命令,用于显示 CPU 架构的信息。它可以快速提供关于处理器的型号、核心数、线程数、缓存大小等详细信息。
打开终端并输入以下命令:
lscpu
命令的输出包含许多有用的信息,例如:
Architecture:CPU 架构类型(例如 x86_64 表示 64 位)。
CPU(s):CPU 的总核心数。
Thread(s) per core:每个核心的线程数。
Core(s) per socket:每个插槽的核心数。
Socket(s):插槽数量。
Model name:CPU 的型号名称。
CPU MHz:当前的 CPU 频率。
Cache 信息:L1、L2 和 L3 缓存大小。
2. cat /proc/cpuinfo
/proc/cpuinfo 文件包含了 CPU 的详细信息。通过读取这个文件,可以获得每个 CPU 核心的具体参数。
在终端中输入以下命令:
cat /proc/cpuinfo
该命令的输出可能非常长,因为它会列出每个逻辑 CPU 的信息。例如:
processor:逻辑处理器 ID。
vendor_id:CPU 供应商。
model name:CPU 型号名称。
cpu MHz:当前的 CPU 频率。
cache size:缓存大小。
cpu cores:核心数。
flags:CPU 支持的特性和指令集。
3. top
top 命令不仅用于监视系统的实时性能,还可以显示 CPU 的使用情况。通过 top,可以看到各个进程的 CPU 使用率以及整体 CPU 的状态。
在终端中输入以下命令:
top
默认情况下,top 命令的输出如下:
%Cpu(s):各类 CPU 使用率,包括用户空间(us)、系统空间(sy)、空闲(id)等。
PID:进程 ID。
%CPU:进程的 CPU 使用率。
4. htop
htop 是 top 的增强版本,提供了更友好的用户界面和更多的交互功能。它可以实时显示 CPU 使用情况,并以图形方式展示各个核心的负载。
在大多数 Linux 发行版上,可以使用包管理器安装 htop:
sudo apt-get install htop # 对于 Debian/Ubuntu
sudo yum install htop # 对于 CentOS/RHEL
sudo dnf install htop # 对于 Fedora
在终端中输入以下命令:
htop
htop 的界面显示如下:
每个核心的使用率以条形图形式显示。
Tasks:任务数量。
Load average:系统负载平均值。
Mem 和 Swp:内存和交换分区的使用情况。
5. mpstat
mpstat是 sysstat 工具包的一部分,用于报告各个 CPU 的统计信息。它可以帮助你了解每个核心的使用情况、等待时间和中断处理情况等。
在大多数 Linux 发行版上,可以使用包管理器安装 sysstat:
sudo apt-get install sysstat # 对于 Debian/Ubuntu
sudo yum install sysstat # 对于 CentOS/RHEL
sudo dnf install sysstat # 对于 Fedora
在终端中输入以下命令:
mpstat -P ALL
该命令的输出如下:
%usr:用户空间的 CPU 使用率。
%sys:系统空间的 CPU 使用率。
%iowait:I/O 等待的 CPU 时间百分比。
%idle:CPU 空闲时间百分比。
6. dmesg | grep -i cpu
dmesg 命令用于显示内核和启动日志。通过过滤 cpu 相关信息,可以获取系统启动时内核检测到的 CPU 信息。
在终端中输入以下命令:
dmesg | grep -i cpu
该命令的输出可能包括如下内容:
smpboot: CPU0:CPU 的基本信息。
Performance Events:性能事件相关信息。
node:CPU 所在的 NUMA 节点。