我们知道当一个进程被创建时,会为这个进程分配一个栈。在linux中栈的大小通常是8Mb。我的问题是,这个栈是从哪里分配的??从用户空间还是从系统空间?
最佳答案
我希望你知道所有用户进程都将只保存在用户空间的概念。它使用系统调用来让内核完成一些工作。
堆栈内存将成为内存中进程上下文区域的一部分。即用户空间。
假设您的进程正在运行,通过 ps -ax
获取 PID。假设 1234 是您的 PID。
cat/proc/1234/maps
将为您提供该特定进程的映射。
在那个映射文件中,您可以检查堆栈映射的堆栈
。
关于linux - 为 Linux 进程分配的堆栈内存在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17671423/