jar*_*ine 6 linux linux-kernel
我最近遇到了"linux stack"和"linux stack size"的错误.我遇到了一个指导我尝试的博客
ulimit -a
Run Code Online (Sandbox Code Playgroud)
看看我的盒子的限制是什么,它被设置为8192kb默认值.
什么是"linux堆栈"?它是如何工作的,它存储了什么,它做了什么?
nyc*_*nik 10
简短的回答是:
当linux盒子上的程序运行时,它们会在程序运行时定期添加和删除堆栈中的数据.堆栈大小,指的是堆栈内存中分配的空间大小.如果增加堆栈大小,则允许程序增加可以调用的例程数.每次调用函数时,都可以将数据添加到堆栈中(堆叠在最后一个例程数据的顶部).
除非程序非常复杂,或者为特殊目的而设计,否则堆栈大小通常为8192kb.某些程序(如图形处理程序)要求您增加堆栈的大小才能运行.因为他们可能在堆栈上存储大量数据.
随意增加这些应用程序的堆栈大小,这不是问题.为此,请使用
ulimit -s bytes
顺便说一句,什么是StackOverflowError?