专栏首页LINUX阅码场Linux系统噪音统计(osnoise tracer)

Linux系统噪音统计(osnoise tracer)

在Linux系统中作为一个普通线程是非常苦逼的。不仅NMI 、硬中断、软中断可以打断它,甚至其它普通线程也可以来打断干扰到它的运行。

如果没有这些打断事件,一个普通线程执行while循环,可以high过天际。这些打断事件对一个普通线程来说,就相当于噪音一样的存在。

从Linux 5.14-rc1开始引入了一个新的tracer---(osnoise tracer)。就是从一个线程thread的角度把这些噪音全部详细统计出来。

上图中 在1秒内普通线程(pid=98) 受到的各个干扰事件的次数和cpu available百分比等都可以显示出来。

统计到这个程度,感觉还是不够详细。 可以打开osnoise对应的trace event.

上面的interference 5说明在一个采样周期内被打断了5次(包括4次中断和一次a.out线程事件产生的噪音),上面的每一次打断都有事件名称和对应的时间统计:

1232+1222+1192+1262+3994882=4000242-452 (~4000242)

统计时间约等于4000242ns 因为包含了检查代码的时间时间。

代码实现:

在以上每个打断事件处理函数中都插上trace event的钩子函数 来统计事件的执行时间,然后在每个cpu上运行一个内核线程进行周期性统计.

这个强大的osnoise tracer使用到的技术仅仅是用到了tracer event提供的基础设施。

我在阅码场发布过一个视频课程,对linux系统中各个tracer的使用和代码实现都有非常详细的讲解:

---end---

本文分享自微信公众号 - Linux阅码场(LinuxDev)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GNS3全面详解系列-GNS3的前世今生

    我和“她”认识已经有十个春秋,3650个日起日落。5年前因为对她的“误会”我们各奔东西,彼此擦肩而错过;5年后由于个人发展原因再次与她重逢。最近由于工作项目上的...

    py3study
  • 如何利用Ptrace拦截和模拟Linux系统调用

    ptrace(2)这个系统调用一般都跟调试离不开关系,它不仅是类Unix系统中本地调试器监控实现的主要机制,而且它还是strace系统调用常用的实现方法。ptr...

    FB客服
  • 音频系统噪声源分析及排除方法

      在录音扩声或音频传输过程中噪声是具有一定频率的纹波电压通过电源线路窜入音频设备的供电回路,普遍存在又非常令人头痛和不易解决。通常组成音频设备的设备越多或信号...

    心跳包
  • CentOS搭建基于ZIPKIN的数据追踪系统

    参考:腾讯云手动实验https://cloud.tencent.com/developer/labs/lab/10195

    全栈程序员站长
  • 音频算法之我思

    下载地址:https://files.cnblogs.com/files/cpuimage/denoise.zip

    cpuimage
  • Tomcat启动时SecureRandom超级慢的问题

    前言:最近部署springboot项目的时候,正常情况下启动很快,但是当我在centos上启动的时候卡在一个地方3-5分钟。所以查看一下问题。

    王念博客
  • 用AI追热点,自动化编辑新闻,路透社已经这么做了 | 附论文

    李杉 编译自 MIT技术评论 量子位 出品 | 公众号 QbitAI ? “互联网的出现和随后的信息爆炸导致记者越来越难以准确、迅速地获取新闻。”路透社的研发团...

    量子位
  • 基于opentracing + jaeger 实现全链路追踪

    当代互联网服务,通常都是用复杂,大规模分布式集群来实现,微服务化,这些软件模块分布在不同的机器,不同的数据中心,由不同团队,语言开发而成。因此,需要工具帮助理解...

    orientlu
  • /dev/random与熵

    在解另外一个issue(gssproxy.service start operation timed out. Terminating.)时了解到熵的概念,在此...

    PedroQin
  • QttAudio推出音频SDK,可消除回音、抑制噪音等

    越来越多的企业选择采用高效便捷的企业即时通讯系统开会办公,提高沟通效率的同时也能够提高办公效率,而其中语音通话的质量可以直接影响用户体验。 ? QttAudio...

    BestSDK
  • RT-Thread智能音箱音频应用实践

    2014年10月,Alexa一款名为 Echo 的智能音箱出现,智能音箱行业开始火爆并受到极大关注。2015年年底,全球智能音箱销量达到250万台。

    LiveVideoStack
  • Linux系统命令审计 原

    (adsbygoogle = window.adsbygoogle || []).push({});

    阿dai学长
  • WebRTC | 原理、架构、框架目录、运行机制、核心类、PeerConnection调用过程等详解

    凌川江雪
  • 动态追踪技术(四):基于 Linux bcc/BPF 实现 Go 程序动态追踪

    在这篇文章中,我将迅速调研一种跟踪的 Go 程序的新方法:基于 Linux 4.x eBPF 实现动态跟踪。如果你去搜索 Go 和 BPF,你会发现使用 BPF...

    RiboseYim
  • docker-2:docker-compose化sentinel-dashboard用于本地开发

    笔者经常在本地mac本上研究一些东西,需要一个本地的开发环境,使用docker来管理环境是一个性价比非常高的做法,方便调试。

    千里行走
  • 这一篇就够了 python语音识别指南终极版

    【导读】亚马逊的 Alexa 的巨大成功已经证明:在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求。整合了语音识别的 Python 程序提供了其他...

    IT派
  • python语音识别终极指南

    小小科
  • python语音识别终极指南

    译者 | 廉洁 编辑 | 明明 【AI科技大本营导读】亚马逊的 Alexa 的巨大成功已经证明:在不远的将来,实现一定程度上的语音支持将成为日常科技的基本要求。...

    AI科技大本营
  • Python语音识别终极指南

    用户1737318

扫码关注云+社区

领取腾讯云代金券