0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入探究Linux系统噪音统计(osnoise tracer)

Linux阅码场 来源:相遇Linux 作者:JeffXie 2021-09-18 10:53 次阅读

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

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

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

2a6b43b0-156e-11ec-8fb8-12bb97331649.png

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

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

2a7b91e8-156e-11ec-8fb8-12bb97331649.png

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

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

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

代码实现:

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

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

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

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10813

    浏览量

    210905
  • Linux
    +关注

    关注

    87

    文章

    11215

    浏览量

    208755
  • 噪音
    +关注

    关注

    1

    文章

    169

    浏览量

    23868
  • 代码
    +关注

    关注

    30

    文章

    4730

    浏览量

    68259

原文标题:Linux系统噪音统计(osnoise tracer)

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Linux根文件系统的挂载过程

    Linux根文件系统(rootfs)是Linux系统中所有其他文件系统和目录的起点,它是内核启动时挂载的第一个文件
    的头像 发表于 10-05 16:50 235次阅读

    如何构建Linux根文件系统

    构建Linux根文件系统是一个涉及多个步骤和概念的过程,它对于Linux系统的启动和运行至关重要。
    的头像 发表于 10-05 16:47 198次阅读

    Linux 驱动开发与应用开发,你知道多少?

    一、Linux驱动开发与应用开发的区别开发层次不同:Linux驱动开发主要是针对硬件设备进行编程,处于操作系统内核层,直接与硬件交互,为上层应用提供设备访问的接口。Linux应用开发则
    的头像 发表于 08-30 12:16 536次阅读
    <b class='flag-5'>Linux</b> 驱动开发与应用开发,你知道多少?

    SystemView上下文统计窗口识别阻塞原因

    SystemView工具可以记录嵌入式系统的运行时行为,实现可视化的深入分析。在新发布的v3.54版本中,增加了一项新功能:上下文统计窗口,提供了对任务运行时统计信息的
    的头像 发表于 08-20 11:31 364次阅读

    深入探讨Linux的进程调度器

    Linux操作系统作为一个开源且广泛应用的操作系统,其内核设计包含了许多核心功能,而进程调度器(Scheduler)就是其中一个至关重要的模块。进程调度器负责决定在任何给定的时刻哪个进程可以运行
    的头像 发表于 08-13 13:36 881次阅读
    <b class='flag-5'>深入</b>探讨<b class='flag-5'>Linux</b>的进程调度器

    深入探究石英可编程 DXO/VCXO 振荡器 SWPQ201 系列(10MHz 至 1500 MHz)

    深入探究石英可编程 DXO/VCXO 振荡器 SWPQ201 系列(10MHz 至 1500 MHz)
    的头像 发表于 08-10 10:05 400次阅读
    <b class='flag-5'>深入</b><b class='flag-5'>探究</b>石英可编程 DXO/VCXO 振荡器 SWPQ201 系列(10MHz 至 1500 MHz)

    功放机源线接音箱消除噪音的方法与技巧

    噪音的来源与类型 在音响系统中,噪音可能来自多个方面,包括电源线、信号线、扬声器线、接地问题、电磁干扰等。根据来源和类型,噪音可以分为以下几种: 1.1 电源线
    的头像 发表于 08-02 10:14 667次阅读

    深入探究 MEMS LVCMOS 振荡器 SiT1602 系列 52 种标准频率

    深入探究 MEMS LVCMOS 振荡器 SiT1602 系列(52 种标准频率)
    的头像 发表于 07-19 16:16 290次阅读

    SPC统计过程控制系统解决方案

    SPC即(Statistical Process Control)统计过程控制,SPC统计过程控制系统通过多维度数据聚合,基于信息化与数字化技术自动对生产过程进行实时监控及预警,利用统计
    的头像 发表于 06-28 08:47 360次阅读
    SPC<b class='flag-5'>统计</b>过程控制<b class='flag-5'>系统</b>解决方案

    电机电磁噪音的产生机理和降低措施

    电磁噪音的来源进行深入解析,对于降低噪音污染、提高电机性能具有重要意义。本文将从电磁噪音的产生机理、影响因素以及降低噪音的措施等方面进行详细
    的头像 发表于 06-11 18:02 2141次阅读

    变频器产生噪音的原因及处理方法

    变频器作为现代电力传动系统中的重要组成部分,广泛应用于各种工业领域。然而,在变频器的运行过程中,有时会产生噪音,这不仅影响设备的正常运行,还可能对工作环境和人员健康造成不良影响。因此,了解变频器产生
    的头像 发表于 06-11 17:50 3371次阅读

    linux和windows的区别 linux系统一般用来干嘛

    Linux和Windows是两种不同的操作系统,有着不同的设计理念和用途。本文将对Linux和Windows的区别进行详细分析,并介绍Linux系统
    的头像 发表于 02-05 14:06 856次阅读

    深入了解Linux中vi命令的使用

    深入了解Linux中vi命令的使用 VI是一款在Linux系统中使用的文本编辑器,它是一款功能强大、灵活性高的编辑器。VI编辑器具有非常高效的命令行操作方式,并且在各个版本的
    的头像 发表于 12-25 11:15 422次阅读

    linux系统的用途

    Linux是一种自由和开放源代码的操作系统,最初由芬兰的计算机科学家林纳斯·托瓦兹创建。它基于UNIX操作系统,并且非常灵活,适用于各种不同类型的应用程序和用途。本文将详细介绍Linux
    的头像 发表于 11-23 11:12 969次阅读

    linux系统基础入门教程

    Linux是一种开源的操作系统,它被广泛应用于服务器、嵌入式系统以及个人电脑上。本篇文章将带领读者从入门的角度,详细介绍Linux系统的基础
    的头像 发表于 11-16 16:45 999次阅读