linux - 为 Linux 进程分配的堆栈内存在哪里?

标签 linux unix operating-system

我们知道当一个进程被创建时,会为这个进程分配一个栈。在linux中栈的大小通常是8Mb。我的问题是,这个栈是从哪里分配的??从用户空间还是从系统空间?

最佳答案

我希望你知道所有用户进程都将只保存在用户空间的概念。它使用系统调用来让内核完成一些工作。

堆栈内存将成为内存中进程上下文区域的一部分。即用户空间

假设您的进程正在运行,通过 ps -ax 获取 PID。假设 1234 是您的 PID。

cat/proc/1234/maps 将为您提供该特定进程的映射。

在那个映射文件中,您可以检查堆栈映射的堆栈

关于linux - 为 Linux 进程分配的堆栈内存在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17671423/

相关文章:

c - 在不同的 "platforms"之间移植 C 代码

java - 如何学习用 Java 编写操作系统程序?

c# - 如何通过 C# 向 Linux 系统发出命令?

linux - 执行期间的管道数据

java - 在 docker 上运行 java 代码

c - 在不关闭工作的情况下重新读取正在/proc 中更新的文件吗?

Python操作系统命令

linux - 如何在 telnet 客户端上实现命令历史记录? (向上/向下箭头)

linux - 查找定义 Linux 函数的位置

linux - 如何在 UNIX 上删除带有特殊字符的目录名和带有环境变量名的目录