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

    文章

    11332

    浏览量

    225994
  • Linux
    +关注

    关注

    88

    文章

    11822

    浏览量

    219604
  • 噪音
    +关注

    关注

    1

    文章

    172

    浏览量

    24598
  • 代码
    +关注

    关注

    30

    文章

    4977

    浏览量

    74420

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入探究LM3280评估板:设计、应用与注意事项

    深入探究LM3280评估板:设计、应用与注意事项 在电子工程师的日常工作中,电源管理设备的设计与应用至关重要。今天我们就来详细探讨一下德州仪器(TI)的LM3280评估板,看看它在电源管理方面
    的头像 发表于 04-20 09:30 116次阅读

    Linux内核的“心跳”:jiffies如何为系统计时?

    Linux 内核的世界里,有一个默默工作的 "计时器"——jiffies。它不像我们手机上的时钟那样显示年月日,却掌控着内核中绝大多数时间相关的操作:从进程调度到设备驱动的定时检查,都离不开它的身影。
    的头像 发表于 02-04 16:27 947次阅读
    <b class='flag-5'>Linux</b>内核的“心跳”:jiffies如何为<b class='flag-5'>系统计</b>时?

    内核配置项引发网络性能下降的深度剖析

    在嵌入式系统开发中,内核配置对系统性能起着关键作用。近期在对基于 Rockchip 平台的 Linux 内核配置调试时,发现三个内核跟踪器配置项(CONFIG_IRQSOFF_TRACER
    的头像 发表于 02-01 16:48 1837次阅读
    内核配置项引发网络性能下降的深度剖析

    【「Linux 设备驱动开发(第 2 版)」阅读体验】+读深入理解Linux内核内存分配

    最近这段时间内存条、硬盘的价格飞涨,随着AI产品的兴起,大数据模型的应用,对硬件存储要求的更高。这节阅读有关Linux内存管理方面的知识。 Linux系统使用了“虚拟内存”机制,虚拟内存机制则意味着
    发表于 01-16 20:05

    MAX97003:高效低噪音频子系统的卓越之选

    MAX97003:高效低噪音频子系统的卓越之选 在音频电子设备的设计领域,一款性能卓越的音频子系统对于提升产品音质和用户体验至关重要。今天,我们就来深入探讨一下Maxim Integr
    的头像 发表于 01-16 15:45 303次阅读

    深入探究 SN65LVELT23:一款高性能的电平转换器

    深入探究 SN65LVELT23:一款高性能的电平转换器 作为一名电子工程师,在日常的硬件设计中,电平转换是一个常见且关键的环节。今天,咱们就来深入聊聊德州仪器(TI)的 SN65LVELT23
    的头像 发表于 12-25 09:40 462次阅读

    深入Linux内核:进程调度的核心逻辑与实现细节

    Linux系统中,进程调度就像一位精明的“CPU管理员”——它决定着哪个进程能优先使用CPU,多久切换一次进程,如何平衡系统响应速度与资源利用率。小到桌面应用的流畅点击,大到服务器的多任务并发
    的头像 发表于 12-24 07:05 4616次阅读
    <b class='flag-5'>深入</b><b class='flag-5'>Linux</b>内核:进程调度的核心逻辑与实现细节

    华纳云服务器Linux系统电源管理与节能优化配置方法

    在云计算时代,Linux系统的电源管理优化成为提升云服务器能效的关键环节。本文将深入解析Linux内核的电源管理机制,从CPU调频策略到磁盘休眠设置,提供一套完整的节能配置方案。通过调
    的头像 发表于 08-21 15:09 1137次阅读

    Linux系统性能调优方案

    关键要点预览:本文将深入解析Linux系统性能瓶颈的根本原因,提供可直接落地的调优方案,让你的系统性能提升30-50%!
    的头像 发表于 08-06 17:49 1095次阅读

    Linux系统中网络配置详解

    网络配置是Linux系统运维中的核心技能之一。正确理解和配置子网掩码、网关等网络参数,直接影响系统的网络连通性和性能。本文将深入探讨Linux
    的头像 发表于 07-17 11:01 1412次阅读

    Linux系统环境监测终极指南

    Linux系统环境主要监测CPU、内存、磁盘I/O和网络流量。
    的头像 发表于 06-25 14:41 1014次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>系统</b>环境监测终极指南

    电机常见的噪音、振动问题及解决方法

    电机作为现代工业生产和日常生活中不可或缺的动力设备,其运行稳定性直接影响着整个系统的可靠性。然而,电机在长期运行过程中,常常会出现各种噪音和振动问题,这些问题不仅影响设备性能,还可能缩短电机寿命
    的头像 发表于 06-08 10:25 4467次阅读

    Linux系统管理的核心概念

    在前一篇文章中,我们深入探讨了Linux中的文件操作命令,如cp、mv、rm,以及文本处理命令grep、wc和管道符。本文将继续深入Linux系统
    的头像 发表于 05-15 17:05 852次阅读

    噪音仪的作用是什么?一文为你介绍

    。科研人员可以利用噪音仪收集不同环境、不同声源的噪音数据,进行深入分析和研究,探索噪音的产生、传播规律,以及对人类和环境的影响。同时,在学校的声学课程教学中,
    发表于 05-11 22:05

    Linux权限管理基础入门

    Linux的广阔天空中,权限管理犹如一只翱翔的雄鹰,掌控着系统的安全与秩序。掌握Linux权限,不仅能让你的系统管理更加得心应手,还能有效防止未授权访问和数据泄露。本文将带你
    的头像 发表于 05-06 13:44 938次阅读
    <b class='flag-5'>Linux</b>权限管理基础入门