1 深入探究Linux系统噪音统计(osnoise tracer)-德赢Vwin官网 网
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

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

    关注

    68

    文章

    10854

    浏览量

    211567
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209313
  • 噪音
    +关注

    关注

    1

    文章

    169

    浏览量

    23900
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68516

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

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

收藏 人收藏

    评论

    相关推荐

    深入探讨Linux系统中的动态链接库机制

    本文将深入探讨Linux系统中的动态链接库机制,这其中包括但不限于全局符号介入、延迟绑定以及地址无关代码等内容。 引言 在软件开发过程中,动态库链接问题时常出现,这可能导致符号冲突,从而引起程序运行
    的头像 发表于 12-18 10:06 66次阅读
    <b class='flag-5'>深入</b>探讨<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>中的动态链接库机制

    Linux根文件系统的挂载过程

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

    如何构建Linux根文件系统

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

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

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

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

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

    深入探讨Linux的进程调度器

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

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

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

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

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

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

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

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

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

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

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

    3562-Linux系统启动卡制作及系统固化

    ](基于 RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220) 评估板支持通过 Linux 系统启动卡(下文称为“SD 启动卡”)和板载 eMMC 设备两 种方式启动。本文档主要演示 SD 启动
    的头像 发表于 03-05 15:58 314次阅读
    3562-<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>启动卡制作及<b class='flag-5'>系统</b>固化

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

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

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

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