Buat daftar versi baru dari earlyoom 1.4, sebuah utilitas untuk menghindari crash karena kekurangan memori

kelas awal

Di awal tahun di sini kita berbicara di blog tentang utilitas Earlyoom, yang, setelah diskusi oleh pengembang Fedora, diterima karena menggunakan utilitas ini di Fedora 32 sebagai proses latar belakang, yang dengannya mereka bermaksud untuk meningkatkan respons sistem terhadap kekurangan memori dan dengan demikian menghindari crash.

Sekarang beberapa minggu kemudian dan Setelah delapan bulan pengembangan, rilis versi baru Earlyoom 1.4 diumumkan.

Bagi mereka yang tidak terbiasa dengan proyek tersebut, mereka harus tahu itu ini adalah thread latar belakang yang secara berkala memeriksa jumlah memori yang tersedia (MemAvailable, SwapFree) dan mencoba merespons kondisi kehabisan memori pada tahap awal. Kode proyek ditulis dalam C dan didistribusikan di bawah lisensi MIT.

Kelas awal
Artikel terkait:
Tingkatkan lebih awal utas untuk disertakan dalam Fedora 32 untuk menghindari kerusakan memori

Jika jumlah memori yang tersedia kurang dari nilai yang ditentukan, ruang awal akan berakhir dengan paksa (dengan mengirim SIGTERM atau SIGKILL) proses dari proses yang menghabiskan sebagian besar memori (yang memiliki nilai tertinggi / proc / * / oom_score), tanpa status sistem membersihkan buffer sistem dan mengganggu pekerjaan swap (OOM (kehabisan memori) driver di kernel aktif saat status rendah memori telah mencapai nilai kritis, dan umumnya pada titik ini sistem tidak lagi merespons tindakan pengguna).

Earlyoom mendukung pengiriman pemberitahuan proses paksa ke desktop (dengan mengirimkan notifikasi), dan juga menyediakan kemampuan untuk menentukan aturan di mana ekspresi reguler dapat digunakan untuk menentukan nama proses yang penghentiannya lebih disukai (opsi "–pilih") atau perhentian yang harus dihindari (–Hindari opsi).

Apa yang baru di Earlyoom 1.4?

Dalam versi baru ini beberapa perubahan disorot, di antaranya Disebutkan bahwa saya bekerja membersihkan kode dan itu juga karena penundaan pemuatan atribut proses, logika pemilihan proses untuk diselesaikan dipercepat hingga 50%.

Selain itu juga reset hak istimewa root telah diterapkan di file drive "systemd ruang awal.layanan". Perubahan ini merusak kemampuan untuk menerima pemberitahuan GUI.

Untuk mengaktifkan kembali pemberitahuan GUI, diusulkan untuk mengembalikan hak root dengan menghapus komentar pada baris «DynamicUser = true".

Meskipun menonaktifkan root juga membuat tidak mungkin mendapatkan informasi tentang konsumsi memori saat pemasangan / proc mode hidepid = 1 atau hidepid = 2.

Dari perubahan lainnya yang menonjol:

  • UID dari proses yang dihentikan tercermin dalam registri, selain PID dan nama proses.
  • Menambahkan penyorotan log debug abu-abu terang.
  • Jika memungkinkan, deklarasi variabel lokal ke blok digunakan.
  • Konfigurasi ditambahkan PATH_LEN untuk mengganti nilai ukuran buffer yang disematkan dalam kode.
  • Kemungkinan memulai cppcheck jika tersedia.
  • Uji kinerja "membuat bangku" tambah.
  • Paket pengujian yang diperluas (lakukan pengujian).

Akhirnya jika Anda ingin tahu lebih banyak tentang itu Tentang rilis ini, Anda dapat memeriksa detailnya di link berikut. 

Bagaimana cara menginstal earlyoom di Linux?

Bagi yang tertarik untuk bisa mencoba utilitas ini, bisa melakukannya dengan mengikuti petunjuk yang kami bagikan di bawah ini.

Earlyoom terletak di dalam repositori beberapa distribusi Linux populer, jadi, dalam kasus Debian, Ubuntu dan turunannya dari ini, penginstalan dapat dilakukan dengan perintah berikut:

sudo apt install earlyoom

Setelah ini selesai, layanan sekarang harus diaktifkan dengan perintah:

sudo systemctl enable earlyoom

Dan itu dimulai dengan:

sudo systemctl start earlyoom

Untuk kasus Fedora dan RHEL 8 dengan EPEL, itu dapat diinstal dengan perintah berikut:

sudo dnf install earlyoom

Dan layanan diaktifkan dengan:

sudo systemctl enable --now earlyoom

Akhirnya, dalam kasus Arch Linux atau turunan lainnya dari ini, penginstalan dilakukan dengan perintah berikut:

sudo pacman -S earlyoom

Dan layanan diaktifkan dengan:

sudo systemctl enable --now earlyoom

Untuk semua distribusi Linux lainnya, mereka dapat melakukan penginstalan dengan menyusun kode utilitas.

Untuk mendapatkan kode tersebut kita bisa melakukannya dengan perintah berikut:

git clone https://github.com/rfjakob/earlyoom.git

cd earlyoom

Kami melanjutkan untuk mengkompilasi dengan:

make

Dan kami menginstal (jika Anda memiliki Systemd):

sudo make install

Atau bagi mereka yang tidak memiliki Systemd:

sudo make install-initscript

Dan untuk menggunakan layanan yang Anda lakukan dengan:

./earlyoom


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   infogon dijo

    Detail dari judul: «kehilangan memori»

    1.    David naranjo dijo

      Terima kasih atas pengamatannya. Bersulang! 🙂

  2.   Linuxman dijo

    Saya rasa ada detail dengan pemasangan di Manjaro (berasal dari Arch). Saya tidak menemukan paket di repositori biasa.

    Jadi penginstalannya harus melalui yaourt.

    yaourt earlyoom

    Salam!

    1.    David naranjo dijo

      Di Arch, ini ada di dalam repositori komunitas yang harus diaktifkan di pacman.conf. Dengan cara yang sama seperti yang Anda sebutkan, itu juga dalam AUR.

      Terima kasih atas pengamatannya 😀

  3.   Fran Pavon dijo

    Halo, saya ingin layanan ini dimulai di MXLinux setiap kali saya menyalakan komputer tanpa harus meletakkan perintah di terminal, bagaimana cara melakukannya?