大佬教程收集整理的这篇文章主要介绍了为什么LuaJIT的内存在64位平台上限制为1-2 GB?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上使用此标志限制为前31位,而不是名称建议的前32位.在Linux内核中使用MAP_32BIT查看here以获得1GB限制的概述.
即使你的内容超过1GB,LuaJIT作者也解释了为什么这对性能有害:
总而言之,1GB限制是Linux内核和LuaJIT垃圾收集器的限制.这仅适用于LuaJIT状态内的对象,可以通过使用malloc来克服,malloc将在较低的32位地址空间之外进行分配.此外,它可以在32位模式下在x64上使用X86构建,并可以访问完整的4GB.
查看这些链接以获取更多信息:
> How to get past 1gb memory limit of 64 bit LuaJIT on Linux?
> LuaJIT x64 limited to 31 bit address space,even without MAP_32BIT restrictions?
> LuaJIT strange memory limit
> Digging out the craziest bug you never heard about from 2008: a linux threading regression
以上是大佬教程为你收集整理的为什么LuaJIT的内存在64位平台上限制为1-2 GB?全部内容,希望文章能够帮你解决为什么LuaJIT的内存在64位平台上限制为1-2 GB?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。