• 2024-10-26uprobe的用法以及原理
    参考Uprobe-tracer:Uprobe-basedEventTracing深入ftraceuprobe原理和功能介绍Linuxuprobe:User-LevelDynamicTracingperf-tools--uprobe用bpftrace跟踪C++代码WhatisLinuxutilitytomangleaC++symbolname?示例跟踪C++程序:/system/bin/logd#查看支
  • 2024-07-30基于BPF提升postgres可观测性的前提或条件
    最近看到一个新产品(dbdoctor)使用了eBPF技术,可实现对sql级别的监控,其涵盖了,cpu,内存,io,网络等,功能非常强大,目前mysql版本的已经开卖了。经过一番了解发现,该技术对于数据库的性能分析,故障排查方面很有用处。下面对了解到的内容总结一下。参考:Linux可观测性BPF&eBPF以及BCC&bpf
  • 2024-01-28监控malloc时brk系统调用
    我们都知道malloc底层是调用brk系统调用实现的,但是不是每次malloc都会调用brk。我们来使用bpftrace验证以下。写一个malloc的程序。#include"stdio.h"#include<stdlib.h>intmain(){void*p;p=malloc(5000);printf("%p\n",p);p=malloc(8);
  • 2023-12-06使用funcgraph-retval和bpftrace/kprobe快速定位并解决cpu控制器无法使能的问题
    版本Linux6.5背景在学习cgroupv2的时候,想给子cgroup开启cpu控制器结果失败了:#查看可以开启哪些控制器root@ubuntu-vm:/sys/fs/cgroup#catcgroup.controllerscpusetcpuiomemoryhugetlbpidsrdmamisc#上面看到,是支持cpu控制器的,通过下面命令查看目前子cgroup开启
  • 2023-05-24ebpf 单行程序学习
    ebpf单行程序学习背景公司方神借给我一本:《BPF之巅:洞悉linux系统和应用性能》纸质书拿回家晚上在沙发上看了几天。感觉书很厚看的不是很系统。仅能凭自己的感觉总结一下这些天的读书感悟。本来计划是2023年的春节7天长假系统的学习ebpf但是因为学习Linux内核参数耽
  • 2023-04-16ebpf的简单学习
    ebpf的简单学习-万事开头难前言bpf值得是巴克利包过滤器他的核心思想是在内核态增加一个可编程的虚拟机.可以在用户态定义很多规则,然后直接在内核态进行过滤和使用.他的效率极高.因为避免了上下文切换,中断等导致的cycle损失.很多先进的工具,比如XDP以及K8S的ciliu
  • 2023-03-06查看yum安装文件路径
    查看yum安装文件路径查看yum默认安装目录的方法如下:1.首先,找到安装包[root@localhost/]#rpm-qa|grepbpftrace-toolsbpftrace-tools-0.13.0-2.el7.noarch记住
  • 2022-11-22ebpf-4——reference_guide.md翻译与实验
    https://github.com/iovisor/bpftrace/blob/master/docs/reference_guide.md一、说明bpftrace参考指南有关参考摘要,请参阅README.md中有关探测器类型的部分以及本指
  • 2022-11-22ebpf-1——ebpf初探
    一、简介1.eBPF提供可基于系统或程序事件高效安全执行一段特定代码的通用能力,涵盖了性能分析、系统追踪、网络优化等方面。2.eBPF有以下优势强安全:BPF验证器(verif
  • 2022-11-20Linux性能工具-bpftrace入门
    一、bpftrace简介bpftrace是基于ebpf内核vm扩展出来的trace工具。bpftrace是Linux高级追踪工具和语言。该工具基于eBPF和BBC实现了通过探针机制采集内核和程序运