Linux环境下的性能分析 之 CPU篇(二)

2、CPU的使用情况分析

a、类似任务管理器的top & htop

说到对CPU的性能分析,大家一定不会忘记windows下那个最熟悉的工具:任务管理器。

7b6bec2b235d4272bcff0c3a15d40a5c.png

 有了这个玩意儿,我们就可以看到CPU的利用率,以及每一个进程所占用的CPU资源。那在Linux下也有类似的工具,最出名的当然是top这个工具。

a583d5d4065f49358c29be23bc8bfce6.png

 

 

看起来是不是很windows的任务管理器很相似呢。在这个命令里,我们最关注的可能是这几样东东:

 

· load average:这里三个数字分别表示最近1分钟、5分钟和15分钟的负载。数值越高负载越重。一般要求最好不要超过cpu的核数。比如,单核就最好小于1。如果看到机器长期出于高于核数的情况,说明机器的cpu排队严重。

 

· cpu使用情况:这一行可以看出cpu的利用率、空闲等信息。如果按下数字键“1”,还可以看到每一个核的情况。

 

· 每一个进程的情况:这个能帮我们看清每一个进程的情况。如果想按照某种方式排序,只需要按下大写的字母“O”,即可选择排序。如果要看具体某个进程,可以运行的时候加上-p参数:top -p pid即可。

 

另一个工具,htop是一个改进型的,使用起来比top更方便。但大部分linux默认不会安装,可以使用yum或者apt-get安装即可使用。使用方法类似。

b5f88c4968b6485f8475ca84a0cf3ba2.png

 

 

b、vmstat

vmstat是老王用的最多的命令之一。通过这个命令,能基本看出当前机器的运行状态和问题。

73774eb4c67c412dabc5d8b20d4b23c0.png

 

运行vmstat 1,就会每隔1秒显示出现在系统的状态,包括cpu的,内存的,io的等等信息。因为今天只是介绍cpu的,所以我们今天先介绍如何看cpu的情况。

 

· r值:这个值是一个很关键的cpu运行数据,表示在cpu运行队列中等待的进程数。如果这个值很大,则说明很多进程在排队等待执行。更说明现在cpu忙的很,压力山大。

 

· in和cs:这两个值分别代表中断次数和上下文切换次数。这两个值越大,代表系统在进行大量的进程切换。这说明我们的进程数(或者线程数)太大,导致系统不断的在切换进程,应该尽量减少进程或线程数量。任何切换都是有代价的!

 

· us、sy、id和wa:这四个值分别代表用户进程、系统进程、空闲和等待的cpu时间占比。us越高说明用户进程占用cpu越高、sy则代表系统进程占用。如果id很高,恭喜你,你的机器很闲;如果wa很高,则说明你的机器因为io很忙而造成cpu等待。

 

这个工具除了分析cpu以外,还可以分析内存和io。特别是io性能的分析,能帮助我们对io型的程序优化有极大帮助(等到我们讲io分析的时候,再详细的来讲)。

 

c、ps和pstree

说到cpu分析,不得不说ps这个命令。这个命令类似于top一样,可以将所有进程(或某一进程)的信息打印出来。

 

这个命令配合watch命令,可以达到跟top一样的效果。比如:watch -n 1 "ps axu | grep java",就能看到如下效果:

a53b752dd262410db2cc2bc98c900eab.png

 每隔一秒中,就会更新一下名字叫java的进程的信息。

而pstree则可以打印出进程树的信息:

57d7d773e0134482886cc4b6213be52e.png

 

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

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

相关文章

Stable Diffusion 绘画入门教程(webui)-ControlNet(Recolor)

Recolor,顾名思义就是重上色的意思,很明显能想到的用法就是老照片上色,也就是老照片修复,看下效果吧(左边为老旧照片,右边为重上色效果): 当然除了这种玩法,也可以局部修…

职业发展利器:ChatGPT的求职建议!【文章底部添加可得内推码汇总表】

目录 引言 第一部分:ChatGPT的智能咨询 第二部分:个性化求职建议 第三部分:行业趋势解读 第四部分:实时更新的职业信息 第五部分:职业规划与发展路径 第六部分:职场心理辅导 【文章底部添加可得内推…

【Spring Cloud】高并发带来的问题及常见容错方案

文章目录 高并发带来的问题编写代码修改配置压力测试修改配置,并启动软件添加线程组配置线程并发数添加Http取样配置取样,并启动测试访问message方法观察效果 服务雪崩效应常见容错方案常见的容错思路常见的容错组件 总结 欢迎来到阿Q社区 https://bbs.c…

linux调用so库之一

任务:linux系统,已经生成so库,需要调用。 参考文献: Linux 调用动态库(.SO文件)总结_linux deviceio.so-CSDN博客 可以看他的第一部分,即显式调用。但是会报错,我的版本是64位的U…

主程面试如何答:你是如何管理团队与分配工作?

面试主程岗位的时,经常会被问到:”你是如何管理团队与分配工作的?”这种类似的问题,对于主程来说这个问题其实还是需要做一些自己的深度思考。每个人的性格都是不一样的,关注点不一样,回答这些问题,自己的答案也不一样…

JavaAPI常用类03

目录 java.lang.Math Math类 代码 运行 Random类 代码 运行 Date类/Calendar类/ SimpleDateFormat类 Date类 代码 运行 Calendar类 代码 运行 SimpleDateFormat类 代码一 运行 常用的转换符 代码二 运行 java.math BigInteger 代码 运行 BigDecimal …

Spring综合漏洞利用工具

Spring综合漏洞利用工具 工具目前支持Spring Cloud Gateway RCE(CVE-2022-22947)、Spring Cloud Function SpEL RCE (CVE-2022-22963)、Spring Framework RCE (CVE-2022-22965) 的检测以及利用,目前仅为第一个版本,后续会添加更多漏洞POC,以及…

该微信用户未开启“公众号安全助手”的消息接收功能,请先开启后再绑定解决操作步骤

1. 关注“公众平台安全助手” 2. 进入“公众平台安全助手”,点击右上角的用户图标,进入公众号信息界面。 3. 进入“公众号信息”界面后,点击右上角的…图标,打开更多选项。 4. 打开“更多选项”后,选择设置选项&#x…

代码随想录算法训练营day26

题目:39_组合总数(没看题解) 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字&…

Spring Boot中实现列表数据导出为Excel文件

点击下载《Spring Boot中实现列表数据导出为Excel文件》 1. 前言 本文将详细介绍在Spring Boot框架中如何将列表数据导出为Excel文件。我们将通过Apache POI库来实现这一功能,并解释其背后的原理、提供完整的流程和步骤,以及带有详细注释的代码示例。最…

Sora领航AIGC时代:深度解读行业变革与AI工具全景图

随着人工智能技术的飞速发展,越来越多的企业和行业开始将AI融入其核心业务流程中。在这个背景下,Sora以其独特的视角和全面的解决方案,正引领着AIGC(人工智能生成内容)的趋势变革。 本文将对Sora进行深度解读&#xf…

【Python时序预测系列】时序数据采样间隔不规律的解决方案(案例)

一、引言 在做时序数据相关任务时候,会遇到采样的间隔不规律的情况,比如采样周期为月,但是有的月份应该种种原因未能成功采样,如下: 这时候运用统计模型进行时序分析的时候往往会出现问题,所以我们需要构造…

原型模式(Prototype Pattern) C++

上一节:建造者模式(Builder Pattern)C 文章目录 0.理论1.原型模式的核心组成:2.实现方法3.什么时候使用 1.实践步骤 1: 定义怪物原型步骤 2: 实现具体怪物原型步骤 3: 使用原型创建怪物 0.理论 原型模式(Prototype P…

力扣随笔删除有序数组中的重复项(简单26)

思路:根据类似于滑动窗口的思想,定义一个指针;使指针左边的区域全部为不重复元素(包括指针所指的数字) 以示例2为例,left:红色加粗 遍历指针i:黑色加粗 窗口范围,左边界到…

C++笔记(面对对象部分复习向)

B站:黑马程序员C教程 栈区,全局区,堆区和代码区 析构、构造和static 对象成员与类本身构造顺序,先成员后自己;析构则相反 static修饰成员变量,所有对象共享一份内存,编译阶段分配内存,类内声明…

[c++] char * 和 std::string

1 char * 和 std::string 的区别 char * 字符串是常量字符串,不能修改;std::string 指向的字符串可以修改 实例代码如下图所示,s1 和 s2 均是常量字符串,字符串常量保存在只读数据区,是只读的,不能写&…

Aigtek高压放大器是什么东西做的

在许多电子应用中,需要将低电压信号放大到较高电压以满足特定的需求。为了实现这个目标,高压放大器被广泛采用。高压放大器是一种专用电子设备,使用特定的电路和器件来增益输入信号的电压。它通常由以下几个主要组成部分构成。 电源供应 高压…

C# Onnx yolov8-obb 旋转目标检测

目录 效果 模型信息 项目 代码 下载 C# Onnx Yolov8-OBB 旋转目标检测 效果 模型信息 Model Properties ------------------------- date:2024-02-26T08:38:44.171849 description:Ultralytics YOLOv8s-obb model trained on runs/DOTAv1.0-ms.ya…

TextCNN:文本分类卷积神经网络

模型原理 1、前言2、模型结构3、示例3.1、词向量层3.2、卷积层3.3、最大池化层3.4、Fully Connected层 4、总结 1、前言 TextCNN 来源于《Convolutional Neural Networks for Sentence Classification》发表于2014年,是一个经典的模型,Yoon Kim将卷积神…

B站UP视频播放数据分析之然冉创业说

【背景介绍】 几年前做过类似的分析,但是B站数据加密了,刚好最近在用selenium,就顺手用它爬一下数据。 df pd.read_excel("然冉创业说_13.2万_output.xlsx") df.head() 以上数据在视频播放页面就可以获取到。 【数据分析】 从数…