当我读取perf_event_open()
的manual之后,我有一些关于捕获采样事件中缓冲区大小的问题。什么是Perf缓冲区大小?
在描述中部分,它说,
的取样事件周期性地写入测量然后可以经由MMAP(2)访问的 缓冲器。
当缓冲区溢出时,PMU会触发PMI,我们可以通过mmap()
系统调用来访问缓冲区的内容。 (我的理解是否正确?)
但问题是,Perf缓冲区有多大?我可以设置一个新的值(缓冲区长度)来覆盖它吗?
变量__u64 data_size
在struct perf_event_mmap_page
中只表示此时的记录大小。
感谢您的回答,我明白了。 :) –