我最近遇到了“linux stack”和“linux stack size”的错误。我遇到了一个博客,指示我尝试
ulimit -a
查看我的框的限制是多少,并将其设置为8192kb
,这似乎是默认值。
什么是“linux堆栈”?它是如何工作的,它存储了什么,它做了什么?
答案 0 :(得分:10)
简短的回答是:
当linux盒子上的程序运行时,它们会在程序运行时定期添加和删除the stack中的数据。堆栈大小,指的是堆栈内存中分配的空间大小。如果增加堆栈大小,则允许程序增加可以调用的例程数。每次调用函数时,都可以将数据添加到堆栈中(堆叠在最后一个例程数据的顶部。)
除非程序非常复杂,或者为特殊目的而设计,否则堆栈大小通常为8192kb。某些程序(如图形处理程序)要求您增加堆栈的大小才能运行。因为他们可能会在堆栈中存储大量数据。
随意增加这些应用程序的堆栈大小,这不是问题。为此,请使用
ulimit -s bytes