linux环境下一个进程的栈大小限制

转载 2006年06月07日 16:42:00

今天在CSDN里回了一个贴子,我按照理论上的栈大小可以有2G多的空间时,被另一个朋友指出我的错误,实际中栈只有2M,他指的是线程。可是在LINUX下进程和线程是没什么差别的。我就突然想起应该用一种什么方法来验证一下栈的大小,由GOOGLE帮忙,找到了后面的reference。

写一个hello, world程序

#include <stdio.h>
int main(int argc, char* argv[])
{
int buf[2*1024*1024];
printf("hello, world");
return 0;
}

buf的大小是2*1024*1024*4=8M。可以改变buf的大小,来验证栈的大小。我在的系统用的内核版本是2.4.20。在以上程序运行的时候出现了段错误。

References:   http://coolq.blogdriver.com/coolq/26282.html

Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

转载请注明出处: https://yakir-yang.github.io/ 栈是什么?栈有什么作用?首先,栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIF...
  • yangkuanqaz85988
  • yangkuanqaz85988
  • 2016年09月01日 21:52
  • 6133

进程与线程栈大小的调整(精)

摘要 通过ulimit设置及可用的Pthread库接口来调整进程或线程的运行栈的大小,以改善嵌入式中内存的使用。 线程 栈大小 ulimit pthread 目录[-] 问题现象 现象分析...
  • u010154760
  • u010154760
  • 2015年04月27日 16:39
  • 3005

Linux下多线程程序崩溃时如何提取出所有线程的函数调用栈(一)

若果你是一名多年的嵌入式linux开发者,在实际的应用开发开发中一定会用到多线程的设计方式,同样你也会遇到当你make完以后,高心的把二进制文件烧写到板子上的 flash以后,断电开电或看门狗复位,板...
  • zhou13454069844
  • zhou13454069844
  • 2013年12月25日 09:55
  • 3556

Linux虚拟地址空间布局以及进程栈和线程栈总结

目录(?)[-] 一Linux虚拟地址空间布局1 内核空间2 栈stack3 内存映射段mmap4 堆heap5 BSS段   6 数据段Data   7 代码段text   8 保留区二Li...
  • qq_20183489
  • qq_20183489
  • 2017年01月06日 20:41
  • 722

linux C语言 内存申请 堆 栈 大小限制

C语言申请内存时堆栈大小限制 一直都有一个疑问,一个进程可以使用多大的内存空间,swap交换空间以及物理内存的大小,ulimit的stack size对进程的内存使用有怎样的限制?今天特亲自动手实验了...
  • xxxxxx91116
  • xxxxxx91116
  • 2013年08月19日 15:17
  • 11580

深入理解linux下进程和线程的空间分配,进程栈和线程栈的空间分配

最近学习了下linux下进程和线程空间的分配原理,觉得有必要坐下总结, 关于进程栈和线程栈总结:     (1)进程栈大小时执行时确定的,与编译链接无关     (2...
  • elfprincexu
  • elfprincexu
  • 2017年12月12日 10:03
  • 155

linux服务器多线程还是多进程的选择及区别

鱼还是熊掌:浅谈多进程多线程的选择 关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,...
  • zmbbb
  • zmbbb
  • 2016年03月17日 13:49
  • 2036

进程地址空间,堆和栈关系

在多任务操作系统中,每个进程都运行在属于自己的内存沙盘中。这个沙盘就是虚拟地址空间(Virtual Address Space),在32位模式下它是一个4GB的内存地址块。在Linux系统中, 内核进...
  • icandoit2010
  • icandoit2010
  • 2016年12月07日 10:03
  • 1279

查看linux函数栈

查看linux函数栈
  • qq_15437667
  • qq_15437667
  • 2016年01月29日 00:28
  • 342

操作系统 - 程序的默认最大栈大小

因为面试两次遇到这个问题,其实我以前有问过,大家都说是取决于操作系统的,然后我这次做了一个实验, 发现我的系统 64 MacOS的最大使用8MB的栈空间。测试代码:#include using na...
  • chenfs1992
  • chenfs1992
  • 2016年04月17日 22:51
  • 910
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux环境下一个进程的栈大小限制
举报原因:
原因补充:

(最多只允许输入30个字)