2011-09-24 178 views

回答

19

您可以使用getrlimit查詢最大進程和堆棧大小。堆棧幀沒有固定的大小;它取決於每個幀需要多少局部數據(即局部變量)。

要在命令行上執行此操作,可以使用ulimit。

如果你想爲正在運行的進程讀取這些值,我不知道這是否任何工具,但它很容易查詢/ proc文件系統:

cat /proc/<pid>/limits 
+0

我收到未找到錯誤的命令。我需要爲這個命令安裝什麼軟件包? – Bruce

+0

這是一個C API調用,而不是命令行工具。 –

+0

他們需要擁有一些適合的起始尺寸?編譯器是否事先計算堆棧幀的大小(考慮到所有局部變量),然後分配幀? – Bruce

13

最大堆棧大小:

ulimit -s