Amber---下一个 shell 脚本何必是 shell script
Linux shell script 是我最喜欢的脚本之一,历史悠久,底蕴深厚,shell script 几乎是内核的一部分,托 POSIX 标准的福,你可以在任何 Linux 系统中使用它。但是编写 shell …
阅读全文✦ 分类
共 11 篇文章,慢慢看。
Linux shell script 是我最喜欢的脚本之一,历史悠久,底蕴深厚,shell script 几乎是内核的一部分,托 POSIX 标准的福,你可以在任何 Linux 系统中使用它。但是编写 shell …
阅读全文开发者通常为了提高内存使用效率,或者避免内存泄漏,需要将内存池化管理。稍复杂一点的系统,一般都会有自己的内存管理机制,我在研读源码的时候,比较习惯先看内存管理模块的实现,这块很见开发者的基本工和工程思想,颇有一叶知秋之感 …
阅读全文内存泄漏是 C 开发非常经典的问题,目前已经存在很多优秀的内存检测工具,比如强大的 Valgrind。 借助 ebpftrace 我们可以非常简单、直观的找到泄漏的位置,而且非常灵活,自己决定其中的细节。 文中我构建了一 …
阅读全文bpftrace 也提供了常见的流程控制语句: 条件语句 循环语句 如果你熟悉 C 或者 Java,它们看起来会相当眼熟。 条件语句 bpftrace 的条件语句与 C 语言完全一样: 当满足条件时执行 A 处语句,否则 …
阅读全文bpftrace 无法定义函数,但提供了约 30 个内置函数,可以在 bpftrace 脚本的任意位置调用它们。这里介绍几个最常用的内置函数,完整的列表可以参考官方文档 …
阅读全文内置变量 无论 Dynamic tracing 或者 Static tracing,它们的目的都是监听特定函数调用事件,这些函数即可以在内核中,也可以在用户态的应用或者 lib 中。获知这些函数调用时的参数、返回值就已经 …
阅读全文ebpf 支持 hardware iter kfunc kprobe software tracepoint 以及 uprobe 等几大类探针,我们从最常用的应用场景:探测内核和应用函数调用入手。 dynamic …
阅读全文前文提到 bpftrace 的语法: bpftrace 语法深受 AWK 的影响, 前的部分相当于 AWK 的 condition, 中的部分相当于 AWK 的 action。只不过 bpftrace 执行 …
阅读全文bpftrace 通过高度抽象的封装来使用 eBPF,大多数功能只需要寥寥几笔就可以运行起来,可以很快让我们搞清楚 eBPF 是什么样的,而暂时不关心 eBPF 复杂的内部机理。由于 bpftrace 深受 AWK 和 …
阅读全文快速上手 eBPF eBPF 是一个运行在 kernel 中的虚拟机,通过它我们可以轻松的向内核各处注入一些自定义的代码(虽然受到很多限制)。如果你已经具备一定的 Linux 使用经验,那么你很有可能已经使用过 …
阅读全文