为什么堆栈段的大小比ulimit小得多

我注意到,在Ubuntu 12.04 x64中,所有程序都将堆栈段映射到虚拟地址范围,如:

7fff0f59b000-7fff0f5bc000 rw-p 00000000 00:00 0      [stack]

由于0xbc000 - 0x9b000 = 0x21000 = 135168,其大小远小于ulimit -s(8192KB)

你能告诉我为什么吗? 堆栈段会自动增长到8MB的限制吗? 先谢谢你。


我找到了原因。 ulimit -s只是上限,并不是初始提交的虚拟内存堆栈。 它会增长。 但我不知道如何实现这一点。 只是“sub rsp,size; mov [rsp],imm”不起作用。

链接地址: http://www.djcxy.com/p/14095.html

上一篇: Why is the size of stack segment much smaller than ulimit

下一篇: Why bother with stack sizes?