2010-11-26 144 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(內存不足)管理器根據這些內存使用的速度/多少而定。