Sebagian besar RAM Anda gratis untuk aplikasi, karena digunakan untuk buffer dan caching. Lihat baris "-/+ buffers/cache:" untuk melihat jumlah RAM yang benar-benar digunakan/gratis. Penjelasan dapat ditemukan di sini.
Untuk memverifikasi apakah Python membocorkan memori, pantau ukuran RSS python (atau %mem) dari waktu ke waktu. Misalnya. tulis skrip shell yang dipanggil dari tugas cron setiap beberapa jam untuk menambahkan output dari ps
Anda rantai perintah dan output dari free
perintah ke file.
Jika Anda menemukan bahwa proses Python adalah membocorkan memori ada beberapa hal yang dapat Anda lakukan;
- Ubah skrip Anda menjadi ada setelah 24 jam dan gunakan mis. tugas cron untuk memulai ulang (jalan keluar yang mudah.)
- Melihat lebih dalam ke Python itu sendiri dan terutama ke dalam modul ekstensi yang Anda gunakan. Gunakan
gc
modul untuk memantau dan mempengaruhi penggunaan memori. Anda dapat mis. panggilgc.count()
secara teratur untuk memantau jumlah objek yang ditandai untuk dikumpulkan. Anda dapat memanggilgc.collect()
secara eksplisit dan lihat apakah itu mengurangi penggunaan memori. Anda juga dapat memodifikasi ambang koleksi.
Jika penggunaan RAM Python tidak meningkat dari waktu ke waktu, itu bisa menjadi program daemon lain. Skrip logging memori yang saya sebutkan di atas seharusnya memberi tahu Anda yang mana.
Mungkin juga ada alasan lain mengapa komputer Anda membeku. Lihatlah file log Linux untuk mendapatkan petunjuk.
Edit: Karena Anda memiliki wpa_supplicant
mengisi file log, Anda harus memeriksa status sistem file. Sistem file yang lengkap dapat menyebabkan sistem macet. Jika Anda tidak menggunakan antarmuka nirkabel, nonaktifkan.