2010-11-26 66 views

回答

5

在32位Linux中,每个进程都会看到一个连续的4GB空间。其中大部分未映射到真实的RAM,但映射到使用情况。在64位

它类似,但更大。

+0

16TB为64位,如果我没有弄错。 – 2010-11-26 21:29:13

+0

Linux没有像Windows那样的独立内核空间(高1或2GB)? – 2013-11-06 02:47:20

5

ulimit -s不是“缺省堆栈大小”。这是堆栈大小限制。您还可以使用ulimit命令设置各种其他限制,并且对于每个限制都有一个“软”限制(如果需要,应用程序可以覆盖该限制)和一个“硬”限制(由操作系统强制执行,并且不能取消设置,除非你有root)。

1

我不知道,在默认情况下设置了一个堆限制任何发行的。您可以使用“ulimit -a”进行检查,并且您或您的系统管理员可以在/etc/security/{limits.conf,limits.d}中设置一个,因此您可能希望在那里查看是否设置了一个。

0

没有堆限制,您的应用程序可以在32位机器上分配3G VM(虚拟内存),但是,这并不意味着该应用具有3G的可用物理内存,取决于你的内核OOM政策,它会被杀死由内核的OOM(内存不足)管理器根据这些内存使用的速度/多少而定。