尝试增加堆栈大小(初始值为8900(或多或少)),我做了以下操作:
ulimit -s 10000
然后我的堆栈大小是10000.然后我做了:
ulimit -aH
从这一点开始,我无法增加堆栈大小,它总是会说:
bash: ulimit: stack size: cannot modify limit: Operation not permitted
但我可以减少它。所以我做了:
ulimit -s 8000
我的筹码是8000。
现在它出现了奇怪的事情,这就是我正在改变的“软”限制,因为我没有对sudo
做任何事情,我应该能够再次达到10000或9000 ,但是不可能。这让我觉得我改变的是“硬”限制,因为它可以减少它,但不能增加它,但我没有从根本工作!
sudo
?答案 0 :(得分:5)
如果既不使用-S
也不使用-H
,则设置软限制和硬限制。堆栈大小的默认硬限制在我的计算机上无限:
$ ulimit -aH | grep stack
stack size (kbytes, -s) unlimited
经常使用可以改变硬限制和软限制。对非root用户的唯一限制是,不能增加硬限制。
一个简单的解决方案是使用ulimit -S -s 10000
仅更改软限制。