GNU/Linux >> Linux Esercitazione >  >> Linux

Come limitare l'utilizzo della memoria dell'applicazione?

Sì, VSZ è memoria virtuale. Per quanto riguarda RLIMIT_AS, dove hai trovato il paragrafo sopra citato? Poiché setrlimit(2) è una chiamata di sistema di Linux, non vedo come potrebbe monitorare malloc(3), una funzione di libreria. Invece, può funzionare solo con brk(2), sbrk(2) e mmap(2) -- questo è anche ciò che suggerisce la sua manpage (controllata da Scientific Linux). Tuttavia, la quantità totale di memoria richiesta tramite queste funzioni è memoria virtuale, quindi RLIMIT_AS limita effettivamente la memoria virtuale. (Questo è, ancora una volta, in accordo con la manpage setrlimit(2).)

Sfortunatamente, non puoi limitare RSS sotto Linux (questo sarebbe ulimit -m ). Puoi provare ulimit -d (RLIMIT_DATA), ma questo includerà mmap(2) solo a partire da Linux 4.7, tipicamente usato per grandi allocazioni. Un'altra possibilità sarebbe quella di limitare la memoria virtuale, ma con una differenza così grande tra RSS e VSZ, questo potrebbe essere difficile.


Molti processi condividono parte della sua memoria con altri processi, ad es. libc viene utilizzato da quasi tutti i processi ma mappato in memoria solo una volta, ma conta per l'utilizzo della memoria virtuale di ogni processo. La limitazione dell'utilizzo della memoria utilizzata solo da un determinato processo (principalmente RSS) può essere eseguita utilizzando cgroups. Vedi le risposte a Come limitare le risorse totali (memoria) di un processo e dei suoi figli per sapere come farlo. Questo limiterà la memoria totale di un processo e dei suoi figli.


Linux
  1. Utilizzo della memoria di Linux

  2. Come limitare l'utilizzo della CPU di un processo in Linux

  3. Come trovare l'utilizzo della memoria dell'utente in Linux

  4. Come ridurre l'utilizzo della memoria ClamAV?

  5. Come viene riportato l'utilizzo della memoria in Linux?

Come controllare l'utilizzo della memoria in Linux

Come controllare l'utilizzo della memoria in Debian 10

Come trovare i migliori processi in esecuzione in base all'utilizzo della memoria

Come interpretare l'utilizzo della memoria top/htop?

Come ordinare il comando superiore in base all'utilizzo della memoria

Come profilare l'utilizzo della memoria?