linux栈设置太大有没有什么坏处

175:[HHL-690-1]/mgcrm>ulimit -s
4194304
175:[HHL-690-1]/mgcrm>

我们的AIX主机,栈限制是4G.这样不容易栈溢出,但是有什么负面影响么?

阅读 4.9k
2 个回答

當然有啦, 第一:你在用stack limit時是virtual地址,當它大於物理內存會時會出現swap,所以不應該出現太大,否則你的方法直接用io disk更為直接. 第二: stack不應該大於總數的20%當你的使用過量時也會可能影響系統內其他應用

这个stack limit指的是进程栈可以生长的极限。一个进程刚启动的时候栈的大小通常只有几M,在不够用的时候才会自动扩充,所以这个极限并不会导致可用内存减少;不过要小心有些写的不好的程序,比如递归的时候没有终止条件,导致不断占用内存,拖慢整个系统。常见的系统一般都设置为8M,如果你有程序的确需要更大的stack,那就改大一些。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题