GNU/Linux >> Linux Esercitazione >  >> Linux

Programma Python che consuma RAM

La maggior parte della tua RAM è libera per le applicazioni, perché viene utilizzata per i buffer e la memorizzazione nella cache. Guarda la riga "-/+ buffers/cache:" per vedere la quantità di RAM che è realmente usato/libero. Una spiegazione può essere trovata qui.

Per verificare se Python sta perdendo memoria, monitora la dimensione RSS di quel pitone (o %mem) nel tempo. Per esempio. scrivi uno script di shell che viene chiamato da un cron job ogni paio d'ore per aggiungere l'output del tuo ps catena di comando e l'output di free comando in un file.

Se trovi che i processi Python sono perdite di memoria ci sono un paio di cose che puoi fare;

  • Modifica il tuo script in modo che esista dopo 24 ore e utilizza ad es. un cron job per riavviarlo (la soluzione più semplice.)
  • Dai uno sguardo approfondito a Python stesso e in particolare ai moduli di estensione che stai utilizzando. Usa il gc modulo per monitorare e influenzare l'utilizzo della memoria. Puoi ad es. chiama gc.count() regolarmente per monitorare la quantità di oggetti contrassegnati per la raccolta. Puoi chiamare gc.collect() esplicitamente e vedere se questo riduce l'utilizzo della memoria. Puoi anche modificare la soglia di raccolta.

Se l'utilizzo della RAM di Python non aumenta nel tempo, potrebbe essere un altro programma di demone. Lo script di registrazione della memoria che ho menzionato sopra dovrebbe dirti qual è.

Potrebbe esserci anche un altro motivo per cui il tuo computer si blocca. Guarda i file di log di Linux per gli indizi.

Modifica: Dato che hai wpa_supplicant riempiendo il file di log, dovresti controllare lo stato del/dei filesystem. Un filesystem completo potrebbe causare il blocco del sistema. Se non stai utilizzando l'interfaccia wireless, disabilitala.


Linux
  1. Cosa uso su Linux per rendere eseguibile un programma Python

  2. Layout della memoria del programma in linux

  3. Ottieni la memoria fisica totale in Python

  4. Come vedere il layout della memoria del mio programma in C durante l'esecuzione?

  5. registrazione del limite massimo della memoria RAM di un processo Linux

Memoria Intel Optane vs SSD vs RAM

Installazione dello strumento di test della memoria RAM Memtest+ su Redhat 7 Linux

Swappiness in Linux:tutto ciò che devi sapere

Trova la dimensione della RAM in Linux

Come trovare informazioni sulla RAM?

Quanta RAM utilizza il kernel?