linux - 有没有办法在 Linux 上获取 io_setup() 调用事件数量的内部限制?
问题描述
io_setup() 的手册页说,如果指定的 maxevents 超过内部限制,它将失败并显示 EINVAL。有没有办法找出这个“内部限制”是什么?
解决方案
这种情况在内核源代码中是硬编码的,在fs/aio.c
. 而且,还蛮大的!
/* Prevent overflows */
if (nr_events > (0x10000000U / sizeof(struct io_event))) {
pr_debug("ENOMEM: nr_events too high\n");
return ERR_PTR(-EINVAL);
}
通常,/proc/sys/fs/aio-max-nr
是您需要担心的问题。我最近看过的所有地方似乎都是65536。
推荐阅读
- smartcard - nfc阅读器(PN532)的实际阅读速度是多少?
- reactjs - 如何在列数据网格中仅选择大于...的值
- javascript - 如何在angularjs中接收从另一个页面发送的POST数据
- python - 在 Python 中酸洗后的类继承类型检查
- javascript - 不确定 AJAX 想法的实现
- python - 为什么类方法内外的矩阵值不同?
- c - 使用 2 个线程 ID 进行合并排序
- json - 为什么 JSON 文件无法完全加载到 dynamodb?
- python - 如何从输入中接受一个mac地址并在python中打印下三个macaddress
- asp.net - 如何在 ASP.NET MVC Identity 中禁用用户验证?