【Linux】【操作】Linux操作集锦系列之七——Linux环境下如何查看CPU使用情况(利用率等)

news2024/12/23 5:17:25
  • 🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)
  • 🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd
  • 🌐系列专栏:Linux技术
  • 📰如觉得博主文章写的不错或对你有所帮助的话,还望大家三连支持一下呀!!! 👉关注✨、点赞👍、收藏📂、评论。
  • 如需转载请参考转载须知!!

Linux环境下如何查看CPU使用情况(利用率等)

    • top系列
      • 简介
      • 命令格式
      • 输出的字段
      • 实例
      • top的变体
    • mpstat
      • 简介
      • 安装
      • 命令格式
      • 实例
    • /proc/stat
      • 简介
      • 字段说明
    • vmstat
      • 简介
      • 命令格式
      • 字段说明
      • 实例
    • sar
      • 用法
      • 实例
    • pidstat
      • 简介
      • 命令格式
      • 实例
    • iostat
      • iostat数据来源
      • iostat报告类型
      • 命令格式

top系列

简介

  • top命令可实时监控系统的任务和资源使用情况,涉及CPU和内存占用情况。
  • top界面中,CPU占用率会显示在顶部的几行中。
  • top的数据来源于/proc/stat。
    在这里插入图片描述

命令格式

  • 查看系统负载
top

– 该命令将展示系统当前的进程列表,以及每个进程的 CPU 占用率、内存占用率、运行时间等信息。在命令行界面,可以使用方向键上下移动当前进程,使用数字键1切换到CPU占用率的排序模式,使用数字键2切换到内存占用率的排序模式。

  • 查看某个进程的详情
top -p <pid>

– 该命令将展示某个进程的详细信息,包括进程的 CPU 占用率、内存占用率、线程等信息。

  • 查看某个用户的进程列表
top -U <username>

– 该命令将展示某个用户的进程列表,以及每个进程的 CPU 占用率、内存占用率、运行时间等信息。

  • 查看进程列表时只显示某些进程
top -pid <pid1>,<pid2>,...

输出的字段

  • 第三行显示以下 中央处理单元(CPU) 值:
  • us: CPU 为“用户空间”中的人执行进程所花费的时间。
  • sy:运行系统“内核空间”进程所花费的时间。
  • ni:使用手动设置的 nice值执行进程所花费的时间。
  • id: CPU 空闲时间量。
  • wa: CPU 等待 I/O 完成所花费的时间。
  • hi:服务硬件中断所花费的时间。
  • si:服务软件中断所花费的时间。
  • st:由于运行虚拟机而损失的时间(“窃取时间”)。

在这里插入图片描述

实例

在这里插入图片描述

top的变体

  • htop 是 top 的一个增强替代品,提供了更加友好的用户界面和更多的功能。与 top 相比,htop 默认以颜色区分不同的信息,并且支持水平滚动查看更多的进程信息。htop 还允许用户使用方向键来选择进程,并可以直接发送信号给进程(如 SIGKILL)。htop 支持多种视图和配置选项,使得用户可以根据自己的喜好定制显示的内容。
  • btop是一个在Linux下运行的交互式系统资源监视器。它以文本界面的形式显示系统的各种指标,如CPU使用率、内存占用、磁盘使用情况、网络流量等。界面非常酷炫。

mpstat

简介

  • mpstat是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息(主要是CPU利用率)。mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据;而类似工具vmstat只能查看系统整体cpu情况。
  • 该工具是 sysstat 包的一部分,sysstat 是一个收集、报告系统活动信息的软件包,包括 CPU、内存、I/O、网络等使用情况。

安装

  • 需要安装sysstat包。
sudo yum install sysstat
sudo apt install sysstat

命令格式

mpstat -P ALL <interval> <count> #通用格式
mpstat #处理器、CPU统计
mpstat -P ALL #获取所有CPU的利用率
mpstat  -P ALL 2 #每隔2s获取所有CPU的利用率
mpstat 1 5 #每隔1s获取一次CPU利用率,共计5次
mpstat -P 0 #获取某个CPU的利用率
mpstat -A #获取该工具可获得的所有信息
mpstat -h #mpstat帮助
mpstat -V #mpstat版本信息

实例

mpstat  -P ALL 2

19:43:58     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
19:43:59     all    0.00    0.00    0.04    0.00    0.00    0.00    0.00    0.00   99.96
19:43:59       0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
19:43:59       1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
.......
19:43:59      13    0.99    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.01
19:43:59      14    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
19:43:59      15    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

在这里插入图片描述

/proc/stat

简介

  • 在Linux系统中,可以用/proc/stat文件来计算cpu的利用率。这个文件包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累计到当前时刻。

字段说明

  • CPU总时间

CPU时间 = user+system+nice+idle+iowait+irq+softirq;

其中:

  • user:从系统启动开始累计到当前时刻,用户态的CPU时间,不包含nice值为负进程;
  • nice:从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间;
  • system:从系统启动开始累计到当前时刻,核心时间;
  • idle:从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间;
  • iowait:从系统启动开始累计到当前时刻,硬盘IO等待时间;
  • irq :从系统启动开始累计到当前时刻,硬中断时间;
  • softirq:从系统启动开始累计到当前时刻,软中断时间;

vmstat

简介

  • vmstat对操作系统的虚拟内存、进程、CPU活动、I/O等系统整体运行状态进行监控。

命令格式

vmstat [options] [delay [count]]
vmstat [参数]

Usage:
 vmstat [options] [delay [count]]

Options:
 -a, --active           active/inactive memory
 -f, --forks            number of forks since boot
 -m, --slabs            slabinfo
 -n, --one-header       do not redisplay header
 -s, --stats            event counter statistics
 -d, --disk             disk statistics
 -D, --disk-sum         summarize disk statistics
 -p, --partition <dev>  partition specific statistics
 -S, --unit <char>      define display unit
 -w, --wide             wide output
 -t, --timestamp        show timestamp

 -h, --help     display this help and exit
 -V, --version  output version information and exit

字段说明

  • procs列表示进程相关信息,包括r和b两列,其中r表示运行中的进程数量,b表示等待IO的进程数量;
  • memory列显示的是内存的相关信息,包含swpd、free、buff、cache等列,swap表示使用的虚拟内存的大小,free表示可用内存的大小,buff表示用作缓冲区的内存大小,cache表示用作缓存的内存大小。这些信息可以使用free命令查看。
  • swap列表示系统的交换空间,包含si和so列,si表示每秒从磁盘写入交换空间的数据量,单位为KB,so表示每秒从交换空间读取数据的大小,单位为KB;
  • io列表示输入输出信息,bi表示每秒读取块设备的数量,bo表示每秒写入块设备的数量;
  • system列表示系统信息。In表示每秒的中断数量,cs表示系统上下文的切换数量,单位为秒。
  • cpu列表示系统CPU活动的相关信息;
  • us表示用户程序使用CPU的百分比;
  • sy表示系统程序占用CPU的时间百分比;
  • id表示CPU空闲时间的百分比;
  • wa表示等待IO操作完成的时间百分比;
  • st表示控制器虚拟化的时间百分比;

实例

 vmstat 1 #每间隔1秒统计一次;
 vmstat 1 #每间隔1秒统计一次,共计5次;

sar

  • sar(System Activity Reporter 系统活动情况报告)是Linux 的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 I/O、CPU 效率、内存使用状况、进程活动,也需要安装sysstat包。

用法

  • 格式
sar [参数] [时间间隔] [次数]
  • 常用参数

-u:输出CPU使用情况的统计信息
-q:输出进程队列长度和平均负载状态统计信息
-B:输出内存页面的统计信息
-r:输出内存和交换空间的统计信息
-W:输出系统交换的统计信息
-d:输出每一个块设备的活动信息
-b:显示I/O和传送速率的统计信息
-f filename:从filename读取数据信息
-s hh:mm:ss:指定输出统计数据的起始时间
-e hh:mm:ss:指定输出统计数据的截止时间,默认为18:00:00
-o filename:将输出信息保存到文件filename

实例

sar -u 1 #统计cpu的使用率,每1秒取一次值

各字段含义如下:

CPU:all 表示统计信息为所有 CPU 的平均值。
%user:显示在用户级别(application)运行使用 CPU 总时间的百分比
%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比
%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比
%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比
若 %iowait 的值过高,表示硬盘存在I/O瓶颈
%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比
%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比
1)若%idle的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
2)若%idle的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU

pidstat

简介

  • pidstat是一个用于实时监控Linux系统中单个或多个进程的资源占用情况的命令行工具。它可以显示CPU、内存、磁盘I/O等资源的使用情况,帮助系统管理员快速定位性能瓶颈。要使用pidstat命令,也需要安装sysstat软件包。

命令格式

  • 使用pidstat时,最基本的命令格式如下
pidstat [options] interval [count]

其中,interval表示采样间隔时间(秒),count表示采样的次数。如果不指定count,则默认持续监控。

  • 各种选项:
-u: 显示CPU使用率
-r: 显示内存使用情况
-d: 显示磁盘I/O统计信息
-p: 指定要监控的进程ID
-w: 显示上下文切换次数
-t: 显示线程级别的统计信息

实例

pidstat 1 #每秒显示每个进程的CPU使用率。
pidstat -u -p 1234 1 #监控进程ID为1234的CPU使用情况,每秒输出一次进程1234的CPU使用率。输出内容通常包括用户态时间(usr)、系统态时间(sys)、等待时间(wait)等信息。
pidstat -u -p 1234,5678 1 #可以同时监控多个进程
watch -n 1 pidstat -u -p 1234 #与watch命令配合使用

iostat

  • 要使用iostat命令,首先需要安装sysstat软件包。

iostat数据来源

  • Iostat使用以下文件生成报告。
  • /proc/stat包含系统统计信息。
  • /proc/uptime包含系统正常运行时间。
  • /proc/partitions包含磁盘统计信息。
  • /proc/diskstats包含磁盘统计信息。
  • /sys包含块设备的统计信息。
  • /proc/self/mountstats包含网络文件系统的统计信息。

iostat报告类型

  • iostat命令会创建三种类型的报告:
  • CPU利用率报表
  • 设备利用率报表
  • 网络文件系统报告

命令格式

  • -c选项可以显示CPU利用率的报告。
$ iostat -c
Linux 5.10.16.3-microsoft-standard-WSL2 (DESKTOP-qxhgd)       02/21/23        _x86_64_        (8 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.01    0.00    0.10    0.01    0.00   99.88

如本文对你有些许帮助,欢迎大佬支持我一下(点赞+收藏+关注、关注公众号等),您的支持是我持续创作的不竭动力
支持我的方式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2182217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Air201资产定位模组LuatOS:录音播放录音功能的操作方法

一直有小伙伴们问&#xff0c;迷你小巧的合宙Air201虽然有很多优点&#xff0c;超低功耗、精准定位&#xff0c;那么它是否支持录音、播放录音功能&#xff1f; 那必须能&#xff01;高集成化设计的Air201自带了ES8311音频解码芯片&#xff08;Audio Codec&#xff09;及MIC麦…

Could not retrieve https://npm.taobao.org/mirrors/node/index.json. 报错解决

Could not retrieve https://npm.taobao.org/mirrors/node/index.json. 报错解决 1.问题原因及解约 今天使用nvm下载不同版本的nodejs的时候报错了 C:\Users\1> nvm list availableCould not retrieve https://npm.taobao.org/mirrors/node/index.json.提示无法检索地址&…

ARM Process state -- CPSR

Holds PE status and control information. 保存PE状态和控制信息。 N, bit [31] Negative condition flag. Set to bit[31] of the result of the last flag-setting instruction. If the result is regarded as a twos complement signed integer, then N is set to 1 if…

AtCoder ABC371 A-D题解

省流&#xff1a;赛场上不会 C。 比赛链接:ABC371 Problem A: Sol if 暴力判断即可。 Code #include <bits/stdc.h> using namespace std; int main(){char SAB,SAC,SBC;cin>>SAB>>SAC>>SBC;if(SAB> && SBC>)cout<<"b&…

【Unity踩坑】使用内购时获取Google Play license key

在Unity中使用了IAP&#xff08;内购&#xff09;后&#xff0c;需要设置Google Play license key。 这个key需要在Google Play Console中&#xff08;https://play.google.com/console&#xff09;&#xff0c;找到相应的应用&#xff0c;在左侧“创收设置”里可以找到license…

堆【数据结构C语言版】【 详解】

目录-笔记整理 一、思考二、堆概念与性质三、堆的构建、删除、添加1. 构建2. 删除3. 添加 四、复杂度分析4.1 时间复杂度4.2 空间复杂度 五、总结 一、思考 设计一种数据结构&#xff0c;来存放整数&#xff0c;要求三个接口&#xff1a; 1&#xff09;获取序列中的最值&#…

AI面试指南:AI工具总结评测,助力求职季

AI面试指南&#xff1a;AI工具总结评测&#xff0c;助力求职季 摘要&#xff1a; 在竞争激烈的AI领域秋招季&#xff0c;准备充分并借助高效工具是提升面试通过率的关键。本文主要介绍一些针对秋招的AI面试工具和学习资源&#xff0c;分为简历优化、面试助手、手撕代码练习三个…

Thinkphp/Laravel旅游景区预约系统的设计与实现

目录 技术栈和环境说明具体实现截图设计思路关键技术课题的重点和难点&#xff1a;框架介绍数据访问方式PHP核心代码部分展示代码目录结构解析系统测试详细视频演示源码获取 技术栈和环境说明 采用PHP语言开发&#xff0c;开发环境为phpstudy 开发工具notepad并使用MYSQL数据库…

ue4多个面重叠闪烁

描述&#xff1a;当多个面重叠的时候&#xff0c;出现闪烁。比如有三个面ABC&#xff0c;A在最底下&#xff0c;B在中间&#xff0c;C在最上面。 解决方案&#xff1a; 方案一&#xff1a; 方法&#xff1a;调整位置&#xff0c;A的Z为0&#xff0c;B的Z为0.01&#xff0c;C的…

2021、2022、2023年江苏省“领航杯”_CTF竞赛_MISC/WEB—部分WP

文章目录 一、前言工具及附件分享 二、MICS1、MICS-小明的困惑2、MICS-流量分析3、MISC-神奇的压缩4、MICS-SecertData5、MISC-我要这key有何用6、MICS-黑客流量分析7、MISC-女儿的秘密8、MICS-snow9、MICS-jsfuck 三、WEB1、WEB- ctf_xxe2、WEB- ctf_uuunserialize3、WEB-ctf_…

无心剑七绝《华夏中兴》

七绝华夏中兴 长空万里尽春声 治世群英喜纵横 一代雄才华夏梦 中兴日月照前程 2024年10月1日 平水韵八庚平韵 无心剑的七绝《华夏中兴》通过对自然景观和国家景象的描绘&#xff0c;展现了一种恢弘的气势和对未来的美好愿景。 意境开阔&#xff1a;首句“长空万里尽春声”以广阔…

SpringBoot2(Spring Boot 的Web开发 springMVC 请求处理 参数绑定 常用注解 数据传递 文件上传)

SpringBoot2&#xff08;Spring Boot 的Web开发 springMVC 请求处理 参数绑定 常用注解 数据传递 文件上传&#xff09; 一、Spring Boot的Web开发 1.静态资源映射规则 总结&#xff1a;只要静态资源放在类路径下&#xff1a; called /static (or /public or /resources or …

启动服务并登录MySQL9数据库

【图书推荐】《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》-CSDN博客 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) Windows平台下安装与配置MyS…

第168天:应急响应-ELK 日志分析系统Yara规则样本识别特征提取规则编写

目录 案例一&#xff1a;ELK 搭建使用-导入文件&监控日志&语法筛选 案例二&#xff1a;Yara 规则使用-规则检测&分析特征&自写规则 案例一&#xff1a;ELK 搭建使用-导入文件&监控日志&语法筛选 该软件是专业分析日志的工具&#xff0c;但是不支持安…

带你0到1之QT编程:二十一、QChart类图表及曲线图的实战指南

此为QT编程的第二十一谈&#xff01;关注我&#xff0c;带你快速学习QT编程的学习路线&#xff01; 每一篇的技术点都是很很重要&#xff01;很重要&#xff01;很重要&#xff01;但不冗余&#xff01; 我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点&#xff01;…

华为OD机试 - 最长元音子串的长度(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

Github 2024-10-01 开源项目月报 Top20

根据Github Trendings的统计,本月(2024-10-01统计)共有20个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目6Python项目6C项目2JavaScript项目2Rust项目1Shell项目1Ruby项目1HTML项目1Go项目1Jupyter Notebook项目1Lobe Chat: 开源ChatGP…

【C语言】字符和字符串函数(2)

文章目录 一、strncpy函数的使用二、strncat函数的使用三、strncmp函数的使用四、strstr的使用和模拟实现五、strtok函数的使用六、strerr函数的使用 一、strncpy函数的使用 我们之前学习的strcpy的作用是把源字符串拷贝到目标空间内&#xff0c;而且经过我们的模拟实现&#x…

智能招聘系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;企业管理&#xff0c;招聘信息管理&#xff0c;应聘信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;招聘信息&#xff0c;我的 开发系统&#…

企望制造ERP系统存在RCE漏洞

漏洞描述 企望制造纸箱业erp系统由深知纸箱行业特点和业务流程的多位IT专家打造&#xff0c;具有国际先进的管理方式&#xff0c;将现代化的管理方式融入erp软件中&#xff0c;让企业分分钟就拥有科学的管理经验。erp的功能包括成本核算、报价定价、订单下达、生产下单、现场管…