系统信息:Linux版本2.6.32-573.12.1.el6.x86_64([email protected])(gcc版本4.4.7 20120313(Red Hat 4.4.7-16 )(GCC))#1 SMP周一年11月23十二时55分32秒EST 2015如何使用malloc()在redhat中分配比RAM更多的内存?
RAM 48 GB
问题:我想对malloc()100 GB存储器。但它不能在redhat系统上分配。
我发现100GB可以分配到8 GB RAM的macOS(铛编译)。我对此很困惑。
也许这个链接中描述的延迟分配? Why malloc() doesn't stop on OS X?
但是为什么linux系统不能?我尝试Ubuntu和Redhat,都没有达到。
结果: 经过调查,我发现以下两个步骤可以让malloc()函数无限:
回声 “1”>的/ proc/sys目录/ VM/overcommit_memory
的ulimit -v无限
https://www.kernel.org/doc/Documentation/vm/overcommit-accounting –
可能重复[malloc可以分配的最大内存](http://stackoverflow.com/questions/2798330/maximum-memory -which-malloc-can-allocate) – VolAnd
出于好奇,为什么你需要分配100GB RAM? – Lundin