Linux查看CPU使用率有哪些常用命令?

在Linux系统中,监控CPU使用率是系统管理和性能优化的基础操作,通过命令行工具可以快速获取CPU的实时负载、进程级占用等关键信息,以下是常用命令的详细说明及使用方法。

linux查看cpu使用率命令
(图片来源网络,侵删)

top命令:动态实时监控

top是Linux中最常用的进程监控工具,默认按CPU使用率排序,实时显示进程信息,其核心参数及功能如下:

  • 交互操作:按P键按CPU使用率降序排序,按M键按内存使用率排序,按c切换命令全路径显示,按k终止指定进程。
  • 头部信息解读
    • %us:用户空间进程占用CPU百分比。
    • %sy:内核空间占用CPU百分比。
    • %id:CPU空闲百分比。
    • %wa:等待I/O的CPU时间百分比。
    • load average:1分钟、5分钟、15分钟系统负载均值,超过CPU核心数则表示高负载。

示例top -b -n 1(非交互模式,输出一次后退出)可生成CPU使用率快照。

htop命令:增强版top(需安装)

htop以彩色界面和树状结构展示进程信息,更直观易用:

  • 功能特点:支持鼠标操作、进程树可视化(F5切换)、实时绘制CPU使用率图表。
  • 安装方法:在Debian/Ubuntu系统中运行sudo apt install htop,在RHEL/CentOS中运行sudo yum install htop

示例:直接输入htop即可进入交互界面,按F2可自定义显示列。

linux查看cpu使用率命令
(图片来源网络,侵删)

mpstat命令:多核CPU详细统计

mpstat来自sysstat包,用于分析每个CPU核心的使用情况:

  • 常用参数
    • -P ALL:显示所有CPU核心的统计信息。
    • -u:仅显示CPU使用率(默认)。
    • 1 5:每秒更新一次,共更新5次。

示例mpstat -P ALL 1 3会三次显示每个核心的实时CPU占用,帮助定位高负载核心。

vmstat命令:虚拟内存与CPU综合统计

vmstat提供进程、内存、I/O、CPU等多维度数据:

  • CPU相关列
    • us:用户进程占用CPU。
    • sy:内核进程占用CPU。
    • id:CPU空闲。
    • wa:等待I/O。

示例vmstat 2 5每2秒刷新一次,共5次,关注us+sy是否接近100%判断CPU繁忙程度。

linux查看cpu使用率命令
(图片来源网络,侵删)

/proc/stat文件:原始CPU数据读取

直接读取系统虚拟文件/proc/stat可获取未处理的CPU数据:

  • 关键字段cpu行包含用户态(user)、内核态(system)、空闲(idle)等CPU时间(单位:jiffies)。
  • 计算公式:CPU使用率 = (1 - idle / total) * 100%,其中total = user + nice + system + idle + iowait + ...

示例:通过grep 'cpu ' /proc/stat结合awk计算实时CPU使用率。

glances命令:系统资源全景监控(需安装)

glances是跨平台监控工具,以仪表盘形式展示CPU、内存、磁盘、网络等信息:

  • 功能:支持自动排序、警告阈值设置、日志导出。
  • 安装sudo pip install glances(需Python环境)。

示例glances -s启动服务器模式,glances -c IP连接远程监控。

ps命令:进程级CPU占用查询

ps可查看特定进程的CPU使用情况:

  • 常用参数
    • -eo pid,ppid,cmd,%cpu,%mem:按指定格式显示进程ID、父进程ID、命令、CPU占用、内存占用。
    • --sort=-%cpu:按CPU使用率降序排序。

示例ps --sort=-%cpu -eo pid,cmd,%cpu | head -n 10查看CPU占用最高的10个进程。

相关问答FAQs

Q1: 为什么top显示的CPU使用率与mpstat不一致?
A: 两者统计粒度不同,top默认显示所有CPU的平均值,而mpstat -P ALL可查看单个核心的占用,若系统存在多核负载不均(如某个核心被进程独占),会导致整体平均值与单核数据差异较大,top的%wa(I/O等待)可能被部分工具计入CPU使用率,需结合iostat排查I/O瓶颈。

Q2: 如何持续监控CPU使用率并记录到日志?
A: 可使用top -b -n 1 | grep "Cpu(s)" >> cpu.log每秒记录一次CPU使用率(需配合while循环),或用sar -u 1 -o cpu.dat(需安装sysstat)将数据保存到二进制文件,后通过sar -f cpu.dat查看历史记录,对于长期监控,建议使用cron定时任务或collectd等工具自动化采集。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/436689.html<

(0)
运维的头像运维
上一篇2025-10-31 19:00
下一篇 2025-10-31 19:04

相关推荐

  • Linux性能监控命令有哪些?

    Linux性能监控是系统管理和运维中的核心任务,通过命令行工具可以高效获取系统资源使用情况、进程状态及性能瓶颈,以下从CPU、内存、磁盘、网络及综合监控五个维度,详细介绍常用命令及其使用方法,CPU性能监控CPU是系统的核心,监控需关注使用率、负载、上下文切换及进程级占用情况,top – 实时进程级监控top以……

    2025-11-20
    0
  • Linux显示进程命令有哪些?

    在Linux系统中,管理和监控进程是系统管理员和开发者的日常任务之一,Linux提供了多种命令来显示进程信息,这些命令各有特点,适用于不同的场景,本文将详细介绍常用的Linux显示进程命令,包括ps、top、htop、pgrep、pstree等,并通过表格对比它们的功能和用法,帮助读者根据需求选择合适的工具,p……

    2025-11-19
    0
  • Linux显示进程命令有哪些?

    Linux系统中,显示进程是日常运维和开发中最常见的操作之一,通过查看进程可以了解系统的运行状态、资源占用情况以及进程间的关系,Linux提供了多种命令来显示进程信息,每个命令都有其独特的功能和适用场景,下面将详细介绍这些命令的使用方法及其输出信息的含义,最基础也是最常用的进程显示命令是ps,ps命令用于报告当……

    2025-11-19
    0
  • aix如何用命令查看CPU信息?

    在AIX操作系统中,监控和管理CPU资源是系统管理员日常运维的重要任务,通过特定的命令可以实时查看CPU的使用情况、核心数、运行状态等信息,帮助用户快速定位性能瓶颈或系统异常,以下是常用的AIX查看CPU相关命令的详细说明及使用方法,lsattr -E -l proc0是最基础的命令之一,用于显示系统处理器的属……

    2025-11-18
    0
  • Unix查看进程命令有哪些常用选项?

    在Unix-like操作系统中,查看进程是系统管理和故障排查的核心操作之一,通过命令行工具,管理员可以实时监控进程状态、资源占用、进程树结构等信息,从而优化系统性能、识别异常进程或终止失控任务,Unix系统提供了多种查看进程的命令,它们各有侧重,适用于不同场景,以下将详细介绍常用命令及其用法、参数和实际案例,基……

    2025-11-17
    0

发表回复

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