linux - 更改 perf_event_mlock_kb 的后果
问题描述
我试图了解更改的确切后果/proc/sys/kernel/perf_event_mlock_kb
。
让我感到困惑的是,两个来源都使用两个不同的单位——页数和内存 Kb。同时,_kb
名称的后缀暗示文件定义了 Kb 的数量。
我的理解是否正确,该措辞暗示该数字应该由页面大小决定,如果我在具有两个 vCPU 的机器上将文件设置为 8046,那么 perf 将能够为事件缓冲区占用多达 16Mb 的内存?
解决方案
我认为内核文档缺少一个单元。
它应该是 512 kiB + 1 page = 516 kiB,匹配文件名和 perf 手册页。_kb
如果它有不同的单位,实际的文件名仍然不会被命名。
cat /proc/sys/kernel/perf_event_mlock_kb
在我的系统上显示516
,因此几乎可以确认它在 kiB 中。
number 应该由页面大小决定
是的,在 x86 上,该数字应该可以被 4 整除,以使大小可以被 4k 页面大小整除。
如果不是,内核大概会向上或向下舍入,IDK 是哪个。
推荐阅读
- mysql - 我在哪里设置 ONLY_FULL_GROUP_BY 模式?
- c++ - 为什么 const 临时绑定到右值引用参数?
- openconnect - ocserv 无法为传入连接执行脚本
- python - 与 Django 信号相关的查询
- swift - 为什么在模拟器中启动应用程序后 xcode 控制台输出缓慢?
- php - Prestashop 1.7 - 在文件上传时显示自定义成功消息
- javascript - 用 const 声明的函数使用 useState 的旧值
- r - 在闪亮仪表板上的 selectinput 下拉列表中添加搜索框
- c++ - 防止C++程序崩溃的基本方法
- python-2.7 - 两个 Python 客户端之间的 Python 中的 Websocket 通信