繁体   English   中英

Linux内核模块是否有任何内存限制?

[英]Are there any memory restrictions on Linux Kernel Modules?

Linux内核模块对内存使用量是否有任何限制,即代码段大小或全局内存量或其他任何内容。

  • 在2.6.35中,如果要加载的模块的长度超过64 MB,则load_module()无法使用: http : //lxr.linux.no/#linux+v2.6.35/kernel/module.c#L2118
  • vmalloc()用于为模块分配空间-如果您尝试分配的页数超过物理内存中的可用页数,则此操作将失败(反过来,这可能仅是内存不足的嵌入式问题)
  • 此外,还使用了kzalloc()(以及kmalloc())。 根据所使用的分配器(SLAB,SLOB,SLUB),也可能会有限制。 SLAB定义KMALLOC_MAX_SIZE,其中定义一次调用kmalloc()即可分配的最大字节数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM