首页 > 解决方案 > 更改 perf_event_mlock_kb 的后果

问题描述

我试图了解更改的确切后果/proc/sys/kernel/perf_event_mlock_kb

让我感到困惑的是,两个来源都使用两个不同的单位——页数和内存 Kb。同时,_kb名称的后缀暗示文件定义了 Kb 的数量。

我的理解是否正确,该措辞暗示该数字应该由页面大小决定,如果我在具有两个 vCPU 的机器上将文件设置为 8046,那么 perf 将能够为事件缓冲区占用多达 16Mb 的内存?

标签: linuxperformancelinux-kernelperf

解决方案


我认为内核文档缺少一个单元。

它应该是 512 kiB + 1 page = 516 kiB,匹配文件名和 perf 手册页。_kb如果它有不同的单位,实际的文件名仍然不会被命名。

cat /proc/sys/kernel/perf_event_mlock_kb在我的系统上显示516,因此几乎可以确认它在 kiB 中。

number 应该由页面大小决定

是的,在 x86 上,该数字应该可以被 4 整除,以使大小可以被 4k 页面大小整除。

如果不是,内核大概会向上或向下舍入,IDK 是哪个。


推荐阅读