Linux 内存调优之 BPF 分析用户态小内存分配
写在前面
- 博文内容为 使用
BPF
工具跟踪 Linux 用户态小内存分配(brk,sbrk) - 理解不足小伙伴帮忙指正 😃,生活加油
我看远山,远山悲悯
持续分享技术干货,感兴趣小伙伴可以关注下 _
brk 内存分配简单概述
一般来说,应用程序的数据存放于堆内存
中,堆内存通过brk(2)
系统调用进行扩展,对于比较常见的 libc
分配器的 malloc
等函数,在内存分配,小内存块使用 brk
分配,一般在空闲列表耗尽时,会上移堆顶指针
,扩展虚拟地址空间
,对于大块内存
,直接调用我们上篇博文讲的 mmap
方式,创建独立的内存段
,一般按页对齐
,直接映射进程虚拟地址空间
。
通过跟踪 brk(2)
调用,可以展示对应的用