我正在運行一個程序,其中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