[Python] Memory leak

Carlos Catucci carlos.catucci a gmail.com
Mer 4 Set 2019 10:50:31 CEST


On Wed, 4 Sep 2019 at 10:44, Giovanni Vittorio Spina <
vittorio.spina a gmail.com> wrote:

> Ciao a tutti,
> Ho un problema importante che non so bene come risolvere.
> Faccio applicazioni python per lavoro. Sono grafiche oppure solo testuali
> che girano su macchine linux di varia natura.
> Su tutte sto avendo problemi di ram nel senso che la ram occupata dal
> processo python aumenta sempre fino ad un kill del sistema operativo per
> out of memory quando la ram del sistema finisce.
> Al momento posso solo risolvere con un wachdog che riavvii l’applicazione
> quando viene chiusa, ma non mj pare la cosa più elegante.
> Uso parecchie librerie di terzi e fatte da me in dieci anni.
> Conoscete un modo per debuggare una cosa del genere?
> Non so bene dove sbattere la testa.


Senza vedere il codice difficile aiutarti. Pero' tieni conto di una cosa,
Python ha il meccanismo di Garbage Collecting, per cui al contrario di C
non ti devi preoccupare di liberrare la mmoria quando un componente non
viene piu usato. Pero' se il tuo codice crea una serie di oggetti (ad
esempio) che hanno scope globale, questi non verranno mai distrutti fino
che lìapplicazione sta girando. Se continui ad aggiungere prima o poi ovvio
che saturi la memoria.
Altro ottimo modo di arrivare questo e' caricare in memoria tabelle di dati
senza paginarle, esempio dati di una tabella dDb che contine decine di
campi e milioni di record.
Molto probabile pero' che si tratti di bad design delle applicazioni. Se
metti su pastebin il codice (sempre che non sia closed) i puo' provare a
vedere, in caso contrario dovresti almeno indicare il flusso logico che usi
per una applicazione che presenta il problema.

Carlos
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20190904/c4261708/attachment.html>


Maggiori informazioni sulla lista Python