A volte lavoro con set di dati molto grandi nei notebook IPython. A volte un singolo Panda DataFrame occupa 1 + GB di memoria, quindi non posso permettermi di conservare molte copie.Liberare memoria legata agli errori in IPython Notebook
Quello che ho trovato è che se provo a eseguire un'operazione su una tale matrice, e viene generato un errore, non riesco a recuperare la memoria - alcune variabili intermittenti vengono ancora rintracciate da qualche parte. Il problema è che non so dove e non posso liberarlo!
Ad esempio, l'immagine seguente mostra il consumo di memoria dopo ripetuti tentativi di esecuzione della cella (ogni fase del grafico corrisponde a un tentativo di esecuzione della cella). Ogni volta che viene consumato un nuovo blocco di memoria non viene mai rilasciato.
Qualcuno sa dove questa memoria sta andando e come liberare in su? In alternativa, se questo è un bug (cioè perdita di memoria o simili), come lo si mostra? Non volevo segnalare questo come un bug se in realtà è l'effetto collaterale del codice che si comporta come progettato (ad esempio, IPython sta memorizzando nella cache cose e sto solo abusando del sistema di caching).
Grazie!
Ho un problema simile con Jupyter che consuma troppa RAM. Non ho ancora identificato la fonte esatta del problema, ma Jupyter rimane sul server per giorni e i portatili sono spesso aperti e chiusi. Mi sono imbattuto in questo https://github.com/ipython/ipython/issues/8267 problema, e ho pensato che potrebbe essere in qualche modo interconnessi. La soluzione proposta (update 'jsonschema') non mi ha aiutato, ma potrebbe funzionare per voi –
Grazie a @Pocin per il collegamento. Un altro problema è stato sollevato sul progetto jupyter: https://github.com/jupyter/notebook/issues/642. Forse puoi aggiungere un commento lì con la tua esperienza per aiutare gli sviluppatori a ottenere maggiori informazioni in merito. –
Che piattaforma stai utilizzando e cosa stai usando per monitorare la memoria? Cercando di rintracciare i problemi correlati .. – dartdog