首页 > 系统相关 >监控某段时间特定进程CPU使用情况

监控某段时间特定进程CPU使用情况

时间:2024-04-28 23:24:29浏览次数:24  
标签:task perf clock msec 段时间 CPUs 监控 CPU

监控某段时间特定进程CPU使用情况


背景

之前一直想找一个进程级别的监控工具
尤其是想能通过prometheus进行监控
但是发现总是很不如人意

node_exporter 的监控只能看到整体的
actuator的无法看到启动过程中的CPU使用情况.
一直没有找到一个比较好的方式.

之前一般采用 top -Hp $pid -bn 1 的方式多次查询来进行查看
但是统计数据比较困难.

最近帮同事看 一个慢的问题 才想起来. 两年前自己想学的ebpf
一直没有深入学习. 

perf

perf:
perf是一个性能分析工具,可用于检测和优化Linux系统中的性能问题。
它能够收集各种性能数据,如CPU使用率、内存使用情况、磁盘IO和网络IO等,
从而帮助用户找出系统中的性能瓶颈。用户可以使用perf来分析应用程序的性能,
并针对性能问题进行优化。perf工具由Linux内核开发人员开发,
是Linux系统中最常用的性能分析工具之一。

最简单的使用

之前总结过 flamegraph的用法, 不在复述. 
总结一下两个小方法

监控启动过程中的比较高的CPU使用

perf top -p $pid 

可以看到启动过程中有大量的zip 相关的指令
说明系统在进行 jar包的读取与解压缩

所以IO会影响产品的启动速度

image


查看每秒钟的进程CPU使用情况

perf stat -e task-clock -p $pid 

可以查看一段时间内的CPU使用情况
perf stat -e task-clock -p 120007 -I 1000
#           time             counts unit events
     1.000942770           1,094.12 msec task-clock                #    1.094 CPUs utilized
     2.001466163           1,457.88 msec task-clock                #    1.458 CPUs utilized
     3.001833373           1,207.22 msec task-clock                #    1.207 CPUs utilized
     4.002150053           1,370.39 msec task-clock                #    1.370 CPUs utilized
     5.002495263           1,028.87 msec task-clock                #    1.029 CPUs utilized

参数说明

-e 指定监控某些event
-I 指定报告间隔, 单位秒钟.
-p 指定进程号

需要说明 不指定 -e 的话 还能看到 io 和 cs 的信息
也比较关键.

然后可以使用excel将CPU使用情况展示出来.

image

标签:task,perf,clock,msec,段时间,CPUs,监控,CPU
From: https://www.cnblogs.com/jinanxiaolaohu/p/18164730

相关文章

  • unity C# 每隔一段时间执行一次
    在Unity中使用C#编写脚本可以通过定时器来实现每隔一段时间执行一次的功能。下面是一种常见的实现方式:usingUnityEngine;publicclassTimerExample:MonoBehaviour{privatefloatinterval=2f;//设置时间间隔为2秒voidStart(){InvokeRepeating("Ex......
  • Linux资源监控命令(系统资源占用top,磁盘使用情况df,网络状态监控sar)
    top:系统资源占用    df:磁盘使用情况   sar:网络状态top命令查看cpu,内存使用情况,类似Windows的任务处理器  退出命令:ctrl+ctop命令内容详解1.PLD:进程id2.USER:进程所属用户3.PR:进程优先级,越小越高4.NI:负值表示高优先级,正表示低优先级5.VIRT:......
  • [转帖]cpupower
    cpupower命令–调整CPU主频参数/真正好用的Linux命令在线查询手册/:播放正确发音《Linux就该这么学》是一本基于最新Linux系统编写的入门必读书籍,内容面向零基础读者,由浅入深渐进式教学,销量保持国内第一,年销售量超过10万余本。点此免费在线阅读。cpupower命令的功能是调整CPU......
  • Intel Pentium III CPU(Coppermine, Tualatin) L2 Cache Latency, Hardware Prefetch
    这几天,偶然的机会想到了困扰自己和其他网友多年的IntelPentiumIII系列处理器缓存延迟(L2CacheLatency),以及图拉丁核心版本是否支持硬件预取(HardwarePrefetch)问题。手头的支持图拉丁核心处理器的i815主板还在正常服役中,铜矿和图拉丁核心处理器也都有,所以就专门做了这一期调查,感......
  • zabbix监控安装文档
    Zabbix安装部署文档https://blog.csdn.net/m0_56055257/article/details/131260948以上文档可以直接复制内容部署,写的非常好用在本教程中,展示如何在CentOS8/RHEL8/OracleLinux8/AlmaLinux8/RockyLinux8上安装最新的Zabbix6.4 版本。1、基本配置1.0关闭防火墙......
  • 基于rrweb框架,搭建前端技术运营监控体系的实践分享
    本文作者:何家伟,碧桂园服务前端开发高级工程师,拥有10年开发经验。1背景在工程化的前端项目中,通常使用webpack进行打包优化并上线。打包后的产物经过压缩和优化,对于一般开发者来说难以理解。当这样的产物交付到线上生产时,由于生产环境的状态是不可监控的,且代码已被压缩,导致如果发......
  • 盘点安防监控市场常见的AI视频智能分析边缘计算硬件及其特点分析
    在当今数字化时代,视频智能分析边缘计算技术及其硬件产品正逐渐崭露头角,成为众多行业领域的得力助手。视频AI智能分析边缘计算硬件是一种专门设计用于实现视频分析和边缘计算的硬件设备。它通常具有高性能的处理器、专门的图形处理单元(GPU)、内存和存储设备,以及专门定制的算法和软件......
  • 学习笔记447—本地部署 Llama3 – 8B/70B 大模型!最简单的方法: 支持CPU /GPU运行 【3种
    本地部署Llama3–8B/70B大模型!最简单的方法:支持CPU/GPU运行【3种方案】目前在开源大模型领域,Llama3无疑是最强的!这次Meta不仅免费公布了8B和70B两个性能强悍的大模型,400B也即将发布,这是可以和GPT-4对打的存在!今天我们就来介绍3各本地部署方法,简单易懂,非常适合新手!1.G......
  • Pyinstaller打包 openvino,但未带上 openvino的依赖,找不到CPU,GPU
    命令:pyinstaller--onefile--collect-submodulesopenvino--collect-binariesopenvino--collect-dataopenvinoserver.pyserver.spec(自动生成)#-*-mode:python;coding:utf-8-*-fromPyInstaller.utils.hooksimportcollect_data_filesfromPyInstaller.util......
  • web server apache tomcat11-21-monitor and management 监控与管理
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......