系统级跟踪 eBPF 工具 —— bpftrace 入门
· ☕ 1 分钟
bpftrace 简介
bpftrace 简单使用
查询可以跟踪的内核函数,以 sleep 为关键字
|
|
跟踪所有 sys_enter_open() 系统调用
|
|
然后在另外一个终端中
|
|
可以看到在 bpftrace 终端中输出:
|
|
|
|
然后在另外一个终端中
|
|
可以看到在 bpftrace 终端中输出:
From [Understanding The Linux Kernel]
之前我们了解到,Linux 倾向用最多的内存做 Page Cache。这使我们不得不考虑如何在内存不足前回收内存。问题是,回收内存的程序本身也可能有 IO 操作,也可能需要内存。
page cache 中的每个 page 均归属于文件. 这个文件 — 或更精确来说,是文件的 inode 被称为 page 的owner
.
Page cahce 的核心数据结构是 addrees_space
。一般来说,每个 inode
(Kernel 用来存放文件元信息的内存中的数据结构,可以视为一个文件的描述信息)中包含一个 addrees_space
。