stack进程的大小是否有限制Linux?它是否仅取决于RAM机器的性能?我想知道这一点,以限制对函数的递归调用的深度。
stack
Linux
RAM
谢谢。
堆栈通常受资源限制的限制。您可以使用ulimit -a以下命令查看安装的默认设置:
ulimit -a
stack size (kbytes, -s) 8192
(这表明我的是8MB,这是巨大的)。
如果删除或增加该限制,您仍将无法使用计算机中的所有RAM作为堆栈- 堆栈从进程地址空间顶部附近的一点向下增长,并在某个时刻它将运行到您的代码,堆或已加载的库中。