GNU/Linux >> Belajar Linux >  >> Ubuntu

Setel Penyesuaian Pembunuh Oom Untuk Proses Saat Memulai?

Apakah ada cara untuk mengatur nilai penyesuaian pembunuh OOM dengan benar ketika proses daemon (Apache dalam kasus saya) dimulai? Saya ingin memberikan kemungkinan yang lebih tinggi untuk dibunuh oleh proses Apache dan membuatnya hampir tidak mungkin untuk beberapa layanan yang lebih vital untuk dibunuh oleh pembunuh OOM.

Jawaban yang Diterima:

Saya pikir Anda sebaiknya menambahkan skrip terpisah sebagai bagian dari init.d Anda. Di dalamnya, Anda akan ingin melakukan sesuatu seperti ini

echo 15 > /proc/`pidof APP_NAME`/oom_adj

pidof APP_NAME akan mengambil ID proses aplikasi dengan nama itu. Menulis 15 ke /proc/{pid}/oom_adj meningkatkan "keburukan" proses {pid}, membuatnya lebih mungkin untuk dibunuh oleh pembunuh OOM.

Artikel Menjinakkan pembunuh OOM dari LWN.net juga mengisyaratkan beberapa ide lain yang disarankan untuk memungkinkan spesifikasi "oom_victim", tetapi saya tidak yakin ada di antara mereka yang benar-benar ada di dalam kernel.

BTW:Solusi terbaik adalah menghindari keharusan menggunakan OOM Killer sejak awal. Ingat moto tidak tertulis Micro$oft:Tidak ada masalah lagi, RAM tidak bisa diperbaiki.

[Catatan:Jika mungkin ada lebih dari satu proses ini, Anda mungkin ingin sedikit merevisi kodenya.]


Ubuntu
  1. Linux – Bagaimana Pembunuh Oom Memutuskan Proses Mana Yang Harus Dibunuh Pertama?

  2. Terima Sinyal Sebelum Proses Dibunuh Oleh Oom Killer / Cgroups?

  3. Mendapatkan Killer Wireless-ac 1535 Bekerja Untuk Menginstal Ubuntu 16.04?

  1. Atur Kecerahan Latar Belakang Startup Awal Tergantung Pada Siang Hari?

  2. Pembunuh Kehabisan Memori Linux

  3. Menemukan proses mana yang dibunuh oleh pembunuh OOM Linux

  1. Cara Mengatur Afinitas CPU untuk Proses SISTEM di CentOS/RHEL 7

  2. Cara mengatur ID proses di Linux untuk program tertentu

  3. Menggunakan prctl PR_SET_NAME untuk menetapkan nama untuk proses atau utas?