Linux内核是否可以释放为用户模式堆栈分配的内存?

时间:2013-06-06 18:29:58

标签: linux stack kernel

我正在为操作系统考试做准备而刚刚意识到我不知道内核是否会取消映射为用户模式堆栈分配的页表项?

我无法在任何地方找到答案,阅读内核代码需要很长时间,因此我认为在这里提问可能会更快。

编辑:我想内核不可能知道何时缩小堆栈的大小。明确地进行系统调用不会有害。

1 个答案:

答案 0 :(得分:0)

用户线程由glic pthread库创建,用户线程的堆栈是通过调用malloc()创建的。

默认情况下,Linux的默认用户堆栈大小限制为8MB。您可以通过ulimit命令进行更改:

       $ ulimit -s
       8192            # The stack size limit is 8 MB (0x800000 bytes)