在 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 节点。