2011-09-24 1 views

risposta

19

È possibile eseguire una query sulle dimensioni massime del processo e dello stack utilizzando getrlimit. I frame di stack non hanno una dimensione fissa; dipende da quanti dati locali (cioè, variabili locali) hanno bisogno di ciascun frame.

Per eseguire questa operazione sulla riga di comando, è possibile utilizzare ulimit.

Se volete leggere questi valori per un processo in esecuzione, non so di qualsiasi strumento che fa questo, ma è abbastanza facile per interrogare il filesystem/proc:

cat /proc/<pid>/limits 
+0

ho un comando non trovato errore. Quale pacchetto devo installare per questo comando? – Bruce

+0

È una chiamata API C, non uno strumento da riga di comando. –

+0

Hanno bisogno di avere alcune dimensioni iniziali giuste? Il compilatore calcola in anticipo la dimensione del frame dello stack (prendendo in considerazione tutte le variabili locali) e quindi assegna il frame? – Bruce

13

massima dimensione dello stack in kilobyte:

ulimit -s