Gunakan 50% dari RAM yang tersedia untuk menguji:
Anda dapat mengurangi innodb_buffer_pool_size sangat rendah untuk melihat apakah itu membantu:
#/etc/my.cnf
innodb_buffer_pool_size = 1M
Aturan praktisnya adalah menyetel innodb_buffer_pool_size ke 50% dari RAM yang tersedia untuk pengujian memori rendah Anda. Ini berarti Anda memulai server dan semuanya kecuali MySQL InnoDB. Lihat berapa banyak RAM yang Anda miliki. Kemudian gunakan 50% dari itu untuk InnoDB.
Untuk mencoba banyak pengaturan memori rendah sekaligus:
Penyebab yang lebih mungkin adalah apa pun yang ada di server itu, seperti server web.
Apache?
Apakah Anda menggunakan Apache dan/atau server web lain? Jika demikian, coba kurangi penggunaan RAM-nya. Misalnya di Apache conf, pertimbangkan pengaturan RAM rendah seperti ini:
StartServers 1
MinSpareServers 1
MaxSpareServers 5
MaxClients 5
Dan tutup permintaan seperti ini:
MaxRequestsPerChild 300
Kemudian restart Apache.
mod_wsgi:
Jika Anda menggunakan Apache dengan mod_python, alihkan ke Apache dengan mod_wsgi.
Pympler:
Jika itu masih terjadi, mungkin Django Anda terus berkembang. Coba pembuatan profil memori Django dengan Pymler:
SAR:
Laporan Anda tentang kegagalan sekali per hari, lalu kegagalan sekali per minggu, dapat menunjukkan beberapa jenis pekerjaan cron yang berjalan setiap hari atau setiap minggu. Misalnya, mungkin ada proses batch yang memakan banyak RAM, atau dump database, dll.
Untuk melacak penggunaan RAM dan mencari lonjakan RAM dalam satu jam sebelum MySQL mati, lihat SAR, yang merupakan alat yang hebat:http://www.thegeekstuff.com/2011/03/sar-examples/