Esistono molte domande e risposte sulla limitazione delle risorse di un singolo processo, ad esempio RLIMIT_AS può essere utilizzato per limitare la memoria massima allocata da un processo che può essere visto come VIRT come top. Maggiori informazioni sull'argomento, ad esempio qui Esiste un modo per limitare la quantità di memoria che un determinato processo può utilizzare in Unix?
setrlimit(2) la documentazione dice:
Un processo figlio creato tramite fork (2) eredita i limiti delle risorse dei suoi genitori. I limiti delle risorse vengono mantenuti in execve (2).
Dovrebbe essere compreso nel modo seguente:
Se un processo ha un RLIMIT_AS, ad esempio 2 GB, non può allocare più memoria di 2 GB. Quando genera un figlio, il limite di 2 GB di spazio indirizzo verrà passato al figlio, ma il conteggio inizia da 0. I 2 processi insieme possono richiedere fino a 4 GB di memoria.
Ma quale sarebbe il modo utile di limitare la somma totale della memoria allocata da un intero albero di processi?