• 2024-12-06监测各个核上cpu上的线程是内核线程还是用户线程,处于内核态还是用户态的方法
    一、背景这篇博客是对于之前的 内核模块注册调度的tracepoint的回调,逻辑里判断当前线程处于内核态还是用户态的方法-CSDN博客 的补充,在 内核模块注册调度的tracepoint的回调,逻辑里判断当前线程处于内核态还是用户态的方法-CSDN博客 里的方法,我们在那篇博客的最后提示了只
  • 2024-12-01不修改内核镜像的情况下,使用内核模块实现高效监控调度时延
    一、背景在之前的博客调度时延的观测_csdn调度时延的观测杰克崔-CSDN博客 里,我们讲了多种监控调度时延的方法,有依靠系统现有节点来监控,但是依赖系统现有节点做不到每个单词调度时延的监控,也讲了通过修改内核代码,在内核计算调度时延的地方加逻辑去监控,这里说的加逻辑也可以
  • 2024-12-03初识C语言学习笔记
  • 2024-04-03linux tracepoint增加
    引入tracepoint的背景当需要获取内核的debug信息时,通常你会通过以下printk的方式打印信息:voidtrace_func(){//……printk("输出信息");//……}缺点:内核中printk是统一控制的,各个模块的printk都会被打印,无法只打印需要关注的模块如果需要修改/新增打印信
  • 2024-03-14Using the TRACE_EVENT() macro (Part 1)
    如果你对tracepoint后面的机制感兴趣,可以阅读关于TRACE_EVENT的三篇文章。这一系列文章对tracepoint后面的机制进行了详细讲解,以及其使用方法都有涉及。该系列文章出现在lwn.net上。注意,不要被英文吓住了,我保证,你认真读完这系列文章后,tracepoint后面的秘密不在是秘密。Using
  • 2024-02-07如何利用内核跟踪点排查短时进程问题?
    在排查系统CPU使用率高的问题时,很可能遇到过这样的困惑:明明通过 top 命令发现系统的CPU使用率(特别是用户CPU使用率)特别高,但通过 ps、pidstat 等工具都找不出CPU使用率高的进程。这是什么原因导致的呢?一般情况下,这类问题很可能是以下两个原因导致的:第一,应用程序里面
  • 2023-12-15Linux tracepoint使用和理解
    参考:如何使用TRACE_EVENT()宏来创建跟踪点1.如何查看tracepoint/sys/kernel/debug/tracing/events/通过perflisttracepoint查看2.tracepoint理解因此tracepoint方式如下:#undefTRACE_SYSTEM#defineTRACE_SYSTEMxhr_test#if!defined(_TRACE_TE_TEST_H)||def