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.
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
Detail dari judul: «kehilangan memori»
Terima kasih atas pengamatannya. Bersulang! 🙂
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!
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 😀
Halo, saya ingin layanan ini dimulai di MXLinux setiap kali saya menyalakan komputer tanpa harus meletakkan perintah di terminal, bagaimana cara melakukannya?