Fork me on GitHub
上一页 1 2 3 4 5 6 ··· 78 下一页
摘要: 1. 介绍 BTF(BPF Type Format)是内嵌在BPF(Berkeley Packet Filter)程序中的数据结构描述信息。BPF原本是用于数据包过滤的编程语言,但随着eBPF(extended BPF)的发展,它的用途已经扩展到多种内核子系统中,包括性能监测、网络安全和配置管理等。 阅读全文
posted @ 2024-03-07 23:39 yooooooo 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 以bitehist为例: 使用BPF之前: 1、在内核中:开启磁盘IO事件的插桩观测。 2、在内核中,针对每个事件:向perf缓冲区写入一条记录。如果使用了跟踪点技术(推荐方式),记录中会包含关于磁盘IO的几个元数据字段。 3、在用户空间:周期性地将所有事件的缓冲区内容复制到用户空间4。在用户空间: 阅读全文
posted @ 2024-03-07 15:34 yooooooo 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 一、配置内核 首先配置内核,使其支持导出内核页表到debugfs下面: Kernel hacking > > [*] Export kernel pagetable layout to userspace via debugfs 配置完后,重新编译内核,并用新内核启动,就会在/sys/kernel/ 阅读全文
posted @ 2024-03-03 14:43 yooooooo 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 背景介绍 在开发微信看一看期间,为了进行耗时优化,基础库这层按照惯例使用tcmalloc替代glibc标配的ptmalloc做优化,CPU消耗和耗时确实有所降低。但在晚上高峰时期,在CPU刚刚超过50%之后却出现了指数上升,服务在几分钟之内不可用。最终定位到是tcmalloc在内存分配的时候使用自旋 阅读全文
posted @ 2024-02-22 20:55 yooooooo 阅读(43) 评论(0) 推荐(1) 编辑
摘要: 一、前言 C语言提供了动态内存管理功能, 在C语言中, 程序员可以使用 malloc() 和 free() 函数显式的分配和释放内存. 关于 malloc() 和free() 函数, C语言标准只是规定了它们需要实现的功能, 而没有对实现方式有什么限制, 这多少让那些追根究底的人感到有些许迷茫, 比 阅读全文
posted @ 2024-02-22 20:01 yooooooo 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 1、安装bpftool工具 看起来,在不同的linux发行版里,bpftool在不同的软件包里,ubuntu 22上,bpftool是linux-tools-generic的一部分,而树莓派里bpftool是一个单独的软件包。 在ubuntu上: sudo apt install linux-too 阅读全文
posted @ 2024-01-01 21:13 yooooooo 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 能量感知调度(EAS)使调度程序能够预测其决策对 CPU 消耗的电量的影响。 EAS 依赖于 CPU 的能量模型 (EM) 来为每个任务选择省电的 CPU,同时要求对执行任务的吞吐量的影响最小。 EAS 仅在异构 CPU 架构上(例如 Arm big.LITTLE)上运行,因为这是通过调度器节省电量 阅读全文
posted @ 2023-12-17 22:01 yooooooo 阅读(114) 评论(0) 推荐(1) 编辑
摘要: aarch64 和 ARMv8 是紧密相关但涵义不同的术语,在解释他们的区别之前,让我们先简单理解它们各自的含义: ARMv8: ARMv8 是指 ARM 架构的第八个版本,这是由 ARM Holdings 设计的一种处理器架构(也称为 ARMv8-A)。这个版本首次引入了对 64 位处理器的支持, 阅读全文
posted @ 2023-12-11 11:49 yooooooo 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 4.支持psci情况 上面说了pin-table的多核启动方式,看似很繁琐,实际上并不复杂,无外乎主处理器唤醒从处理器到指定地址上去执行指令,说他简单是相对于功能来说的,因为他只是实现了从处理器的启动,仅此而已,所以,现在社区几乎很少使用spin-table这种方式,取而代之的是psci,他不仅可以 阅读全文
posted @ 2023-12-03 22:14 yooooooo 阅读(80) 评论(0) 推荐(0) 编辑
摘要: Linux 中采用了两种不同的优先级范围,一种是 nice 值,一种是实时优先级。在上一篇粗略的说了一下 nice 值和实时优先级,仍有不少疑问,本文来详细说明一下进程优先级。linux 内核版本为 linux 2.6.34 。 进程优先级的相关信息,存放在进程描述符 task_struct 中: 阅读全文
posted @ 2023-12-02 22:55 yooooooo 阅读(61) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 78 下一页