如何查看Linux机器CPU使用情况、实时占用率及进程详情?

在Linux系统中,CPU作为核心硬件资源,其信息对于系统性能监控、应用优化、故障排查至关重要,掌握查看CPU信息的多种方法,能帮助管理员或开发者快速了解硬件配置、运行状态及性能瓶颈,本文将详细介绍Linux环境下查看CPU信息的常用命令及其使用技巧。

如何查看linux机器的cpy

使用lscpu命令友好显示CPU架构信息

lscpu是Linux系统中最常用的CPU信息查看工具之一,它通过解析/proc/cpuinfo/sys文件系统中的数据,以易读的格式展示CPU的架构、核心数、线程数等关键信息,无需root权限即可执行。

基本用法

直接在终端输入lscpu,即可输出详细的CPU信息,示例如下:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   46 bits physical, 48 bits virtual
CPU(s):                          8          # 逻辑CPU总数(含超线程)
On-line CPU(s) list:             0-7
Thread(s) per core:              2          # 每个核心的线程数(超线程开启时为2)
Core(s) per socket:              4          # 每个物理CPU的核心数
Socket(s):                       1          # 物理CPU数量(插槽数)
NUMA node(s):                    1
NUMA node0 CPU(s):               0-7

关键字段解析

  • CPU(s):逻辑CPU总数,即系统能调度的处理器单元数,若开启超线程,逻辑CPU数会大于物理核心数。
  • Core(s) per socket:每个物理CPU(插槽)的核心数。
  • Thread(s) per core:每个核心的线程数,通常为1(未开启超线程)或2(开启超线程)。
  • Socket(s):物理CPU数量,即主板上的CPU插槽数。

通过cat /proc/cpuinfo查看原始CPU数据

/proc/cpuinfo是Linux内核提供的虚拟文件,记录了每个逻辑处理器的详细信息,包括厂商、型号、主频、缓存等原始数据,适合需要深入分析CPU硬件细节的场景。

基本用法

直接执行cat /proc/cpuinfo,会输出所有逻辑处理器的完整信息;若需过滤特定字段,可结合grep命令,

如何查看linux机器的cpy

# 查看CPU型号
cat /proc/cpuinfo | grep 'model name' | uniq
# 查看每个物理CPU的核心数
cat /proc/cpuinfo | grep 'cpu cores' | uniq
# 查看逻辑处理器总数
cat /proc/cpuinfo | grep 'processor' | wc -l

关键字段说明

  • processor:逻辑处理器ID(从0开始编号)。
  • vendor_id:CPU厂商ID(如GenuineIntel、AuthenticAMD)。
  • model name:CPU型号(如Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz)。
  • cpu cores:每个物理CPU的核心数(需注意与“siblings”字段对比判断超线程)。
  • siblings:每个核心的逻辑处理器数,若siblingscpu cores的两倍,则说明开启超线程。

使用top/htop实时监控CPU使用率

tophtop是动态监控Linux系统资源(含CPU)的工具,不仅能查看CPU基本信息,还能实时显示各核心的使用率、用户态/内核态CPU时间占比等,适合性能调优和故障排查。

top命令基础用法

top -bn1 | grep "Cpu(s)"  # 静态输出一次CPU使用率信息

输出示例:

%Cpu(s):  15.3 us,  5.1 sy,  0.0 ni, 79.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
  • us(user space):用户空间CPU使用率
  • sy(system):内核空间CPU使用率。
  • id(idle):CPU空闲率。
  • wa(I/O wait):等待I/O的CPU时间占比。

htop命令(需安装)

htoptop更直观,支持彩色显示、进程排序、核心单独监控等功能,安装后直接输入htop,界面会实时展示各核心使用率、任务状态等。

其他实用命令

  1. nproc:快速显示逻辑CPU核心数,适合脚本调用。
    nproc  # 输出逻辑CPU总数(如8)
  2. lspci:查看PCI设备信息,结合grep可筛选CPU相关的PCI设备(如Intel CPU的PCI ID)。
    lspci | grep -i 'cpu'  # 查看CPU相关的PCI设备

Linux常用CPU信息查看命令对比

命令 功能特点 适用场景 是否需安装 示例输出
lscpu 友好显示CPU架构信息,字段清晰 快速查看CPU型号、核心数等 Core(s) per socket: 4
/proc/cpuinfo 原始数据,包含每个逻辑处理器细节 深入分析硬件参数、超线程状态 model name: Intel i7-9750H
top/htop 实时监控CPU使用率,动态展示 性能调优、故障排查 htop需安装 %Cpu(s): 15.3 us, 5.1 sy
nproc 仅输出逻辑CPU核心数,简洁高效 脚本自动化、快速获取核心数 8

FAQs

问题1:为什么cat /proc/cpuinfo中“model name”显示的CPU型号重复?
解答/proc/cpuinfo会为每个逻辑处理器(包括超线程产生的虚拟核心)输出一条完整记录,model name”等字段会重复出现,若需查看唯一CPU型号,可通过cat /proc/cpuinfo | grep 'model name' | uniq | head -n 1过滤重复项,仅显示第一个型号。

如何查看linux机器的cpy

问题2:如何确认Linux系统是否开启了CPU超线程?
解答:可通过以下两种方式判断:

  1. 比较lscpu中的“CPU(s): total”(逻辑CPU总数)和“Core(s) per socket:”(每颗物理CPU的核心数),若前者是后者的两倍,则说明开启超线程。
  2. 查看/proc/cpuinfo中“siblings”(每个核心的逻辑处理器数)和“cpu cores”(每个核心的实际核心数),若siblingscpu cores的两倍,则开启超线程。
    cat /proc/cpuinfo | grep 'siblings|cpu cores' | uniq
    # 输出:siblings: 2, cpu cores: 1 → 超线程开启

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34464.html

(0)
酷番叔酷番叔
上一篇 2025年10月2日 14:12
下一篇 2025年10月2日 14:25

相关推荐

  • Linux如何查看进程ID?

    ps 命令(最常用)作用:列出当前进程信息,常用组合:ps aux | grep [进程名] # 查看特定进程的PIDps -ef | grep [进程名] # 完整格式列表示例:查找Nginx进程的PIDps aux | grep nginx输出示例:root 1234 0.0 0.1 12345 6789……

    2025年7月15日
    7600
  • Linux下如何查看进程编号?常用命令及操作步骤详解

    在Linux系统中,进程编号(通常指进程ID,即PID)是操作系统为每个运行中的进程分配的唯一标识符,是进程管理、调试、资源监控的基础,查看进程编号的方法多样,可通过内置命令、交互式工具或系统文件实现,以下详细介绍常用方法及具体操作,基础命令:ps查看静态进程列表ps(process status)是最常用的进……

    2025年8月22日
    5500
  • Linux下如何退出sqlplus?

    在Linux系统中,SQLPlus作为Oracle数据库常用的命令行工具,用于执行SQL语句、PL/SQL块及数据库管理操作,完成数据库任务后,正确退出SQLPlus是确保会话正常结束、释放资源的关键步骤,本文将详细说明Linux环境下退出SQL*Plus的各种方法、适用场景及注意事项,帮助用户高效管理数据库会……

    2025年9月26日
    5200
  • Linux环境下如何创建数据表?

    在Linux环境下创建表通常指在关系型数据库管理系统(RDBMS)中通过SQL语句定义数据结构的过程,常见的数据库包括MySQL、PostgreSQL等,本文将以MySQL和PostgreSQL为例,详细说明在Linux系统中创建表的完整流程,包括环境准备、连接数据库、SQL语法及约束设置等内容,环境准备:安装……

    2025年9月17日
    5000
  • Linux线程如何判断是否已退出?

    在Linux系统中,线程是进程内的执行单元,线程退出的判断是线程管理的重要环节,涉及资源释放、状态同步等多方面问题,线程退出的方式多样,对应的判断方法也需根据场景选择,本文将详细分析线程退出的常见方式及判断机制,线程退出的常见方式线程退出可分为主动退出和被动退出两类,主动退出是线程自身决定终止执行,被动退出则是……

    2025年8月23日
    4500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信