如何查看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系统中安装GCC(GNU Compiler Collection)是开发C、C++等程序的基础步骤,不同发行版的安装命令略有差异,以下是详细指南:通过包管理器安装(推荐)Ubuntu/Debian 系# 安装GCC(默认安装最新稳定版)sudo apt install gcc# 安装G++(C++编……

    2025年7月24日
    13500
  • linux没有浏览器如何卸载

    无浏览器的 Linux 中,可通过终端使用包管理命令卸载,如 apt-get remove [软件包名](针对 Debian/Ubuntu 系)。

    2025年8月16日
    12200
  • Linux下如何正确添加环境变量?临时与永久配置方法详解

    在Linux系统中,环境变量是存储系统配置、程序路径、用户偏好等信息的全局变量,能够被当前 shell 及其子进程访问,合理配置环境变量可以简化命令操作、优化程序运行环境,是Linux日常运维和开发的基础技能,以下是Linux下添加环境变量的详细方法,涵盖临时变量、用户级永久变量和系统级永久变量,并附配置文件对……

    2025年8月24日
    12300
  • Linux如何显示用户名并破解密码?

    在Linux系统中,用户名和密码的管理是系统安全的核心环节,了解如何显示用户名以及合法场景下的密码破解方法,有助于系统管理员进行安全审计、用户权限管理或密码恢复操作,但必须明确:任何密码破解行为需在授权范围内进行,未经授权的破解可能违反法律法规,本文将从合法合规角度出发,详细说明Linux系统中用户名的显示方法……

    2025年9月19日
    8800
  • 如何在Linux高效创建文件夹?

    命令行创建文件夹(核心方法)通过终端(Terminal)操作是Linux最通用的方式,使用 mkdir 命令(make directory)实现:mkdir 文件夹名称示例:在当前位置创建名为 docs 的文件夹:mkdir docs进阶选项与场景创建多级嵌套文件夹使用 -p 参数自动创建父级目录(避免路径不存……

    2025年7月8日
    11000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信