我正在运行一个程序,其中allocates 8mb stacks using mmap。在测试中可以分配多少堆栈(瞄准10万个)时,我发现虚拟内存大小按预期迅速增加,并且保留大小保持很小(小于1gb)。该程序然后段错误Cannot allocate new fiber stack: Cannot allocate memory (Errno)
。使用gdb
来拯救segfault,然后看着htop,我发现这发生在大约256GB的虚拟内存上。增加256GB以上的最大虚拟内存大小
我试过在运行程序时使用prlimit --as=unlimited --rss=unlimited --memlock=unlimited --data=unlimited
,但它似乎没有什么区别。
有没有办法增加这个限制?建议增加此限制吗?有没有更好的方式让水晶分配堆栈?
这确实是极限,我将它增加到了1000万,并获得了超过500万根水晶纤维。谢谢! – RX14