Linux/Unix下程序的堆栈大小是怎么定的?
windows下在VC中进行程序开发时可以在工程设置中更改堆栈的大小,那么在Linux/Unix下的程序开发是怎么决定一个程序所用堆栈的大小呢?
我们的一个软件因为用了迭代,所以对堆栈的要求比较高,在Windows下我们改了dsp文件的设置,没有问题,但是在HP的工作站上(UNIX)就有问题,一做涉及到迭代的功能程序就会崩溃,提示栈空间不够。我用ulimit -a 查看了一下,返回:
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 2015464
stack(kbytes) 81612
memory(kbytes) unlimited
coredump(blocks) 4194303
nofiles(descriptors) 200
我用ulimit -s想把stack size改一下,可是只要稍微改大一点(比如81613)就/usr/bin/ulimit[7]: ulimit: exceeds allowable limit,我工作站的内存是1149M,为什么我的堆栈大小改不上去,是有其他的限制需要改大吗?
谢谢指点!
我们的一个软件因为用了迭代,所以对堆栈的要求比较高,在Windows下我们改了dsp文件的设置,没有问题,但是在HP的工作站上(UNIX)就有问题,一做涉及到迭代的功能程序就会崩溃,提示栈空间不够。我用ulimit -a 查看了一下,返回:
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 2015464
stack(kbytes) 81612
memory(kbytes) unlimited
coredump(blocks) 4194303
nofiles(descriptors) 200
我用ulimit -s想把stack size改一下,可是只要稍微改大一点(比如81613)就/usr/bin/ulimit[7]: ulimit: exceeds allowable limit,我工作站的内存是1149M,为什么我的堆栈大小改不上去,是有其他的限制需要改大吗?
谢谢指点!
...全文
相关推荐
linux 堆栈溢出的问题
unix linux 堆栈 溢出 的 问题
stack.zip_Linux/Unix编程_C/C++_
用于获取线程堆栈大小和设置线程堆栈大小的例子
Unix/Linux下用GDB调试程序
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能
unix/linux信号详解大全
自己整理的unix/linux信号详解大全,很详细。
linux/unix系统编程手册(下)
linux/unix系统编程手册(下) 带目录书签~


