ulimit -s显示默认的堆栈大小限制。
是否有启动默认堆大小?
答案 0 :(得分:5)
没有
在32位Linux中,每个进程都可以看到连续的4GB空间。其中大部分未映射到真实RAM,但会在使用时映射。在64位中它类似但更大。
答案 1 :(得分:5)
ulimit -s
不是“默认堆栈大小”。这是堆栈大小限制。您还可以使用ulimit
命令设置各种其他限制,并且每个限制都有“软”限制(应用程序可以根据需要覆盖)和“硬”限制(由OS强制执行) ,除非你有root用户,否则一旦设置就不能取消设置。
答案 2 :(得分:1)
我不知道默认设置堆限制的任何发行版。您可以使用" ulimit -a"进行检查,您或您的系统管理员可以在/etc/security/{limits.conf,limits.d}中设置一个,这样您可能希望在那里查看是否有一个已经确定了。
答案 3 :(得分:0)
没有堆限制,你的应用程序可以在32位机器上分配3G vm(虚拟内存),但这并不意味着应用程序有3G物理内存可用,取决于你的内核的OOM策略,它将被杀死内核的OOM(Out-Of-Memory)管理器根据这些内存的使用速度/速度。