A principis d'any parlem aquí al blog sobre la utilitat Earlyoom, la qual després de realitzar una discussió els desenvolupadors de Fedora, es va arribar a l'acceptació per utilitzar aquesta utilitat en Fedora 32 com un procés de fons, amb la qual cosa pretenen millorar la resposta de sistema davant la falta de memòria i amb això evitar bloquejos.
Ara diverses setmanes després i després de vuit mesos de desenvolupament, es va donar a conèixer el llançament de la nova versió de Earlyoom 1.4.
Per als qui desconeixen de el projecte, han de saber que aquest és un subprocés de fons que verifica periòdicament la quantitat de memòria disponible (MemAvailable, SwapFree) i intenta respondre a una condició de falta de memòria en una etapa primerenca. El codi de el projecte està escrit en C i distribuït sota la llicència MIT.
Si la quantitat de memòria disponible és menor que el valor especificat, earlyoom acabarà per la força (Mitjançant l'enviament d'SIGTERM o SIGKILL) el procés de l'procés que consumeix la major quantitat de memòria (Que té el valor més alt / proc / * / oom_score), sense que l'estat de sistema esborri els memòria intermèdia de sistema i interfereixi amb el treball intercanvi (el controlador OOM (sense memòria) en el nucli s'activa quan l'estat de poca memòria ja ha assolit valors crítics i, en general, en aquest moment el sistema ja no respon a les accions de l'usuari).
Earlyoom admet l'enviament de notificacions de processos forçats a l'escriptori (mitjançant l'enviament de notificacions), i també proporciona la capacitat de definir regles en les que es poden usar expressions regulars per especificar els noms de processos la finalització es prefereix (l'opció «-prefer») o s'atura que s'ha d'evitar (opció -avoid).
Què hi ha de nou en Earlyoom 1.4?
En aquesta nova versió es destaquen alguns canvis, dels quals s'esmenta que treball en la neteja de el codi i que a més a causa de la càrrega demorada dels atributs de el procés, la lògica de selecció de processos per completar s'accelera en un 50%.
A més de que també es va implementar el restabliment de privilegis de root a l'arxiu de la unitat "systemd earlyoom.service". Amb aquest canvi es trenca la possibilitat de rebre notificacions de GUI.
Per habilitar novament les notificacions GUI, es proposa retornar els drets de root, tragueu la línia «DynamicUser = true".
Encara que a l'desactivar root també fa que sigui impossible obtenir informació sobre el consum de memòria a l'muntar / proc en mode hidepid = 1 o hidepid = 2.
Dels altres canvis que es destaquen:
- El UID d'el procés acabat es reflecteix en el registre, a més del PID i el nom de l'procés.
- Es va agregar ressaltat de el registre de depuració en gris clar.
- Si és possible, es va utilitzar la declaració de variables locals als blocs.
- Es va agregar la configuració PATH_LEN per reemplaçar el valor de la mida de la memòria intermèdia incrustat en el codi.
- Possibilitat d'iniciar cppcheck si està disponible.
- Es va agregar la prova de rendiment «make bench".
- Conjunt de proves estès (make test).
Finalment si vols conèixer més a l'respecte sobre aquest llançament, pots consultar els detalls al següent enllaç.
Com instal·lar earlyoom a Linux?
Per als que estiguin interessats en poder provar aquesta utilitat, poden fer-ho seguint les instruccions que compartim a continuació.
Earlyoom es troba dins dels repositoris d'algunes de les distribucions de Linux populars, de manera que, en el cas de Debian, Ubuntu i qualsevol derivat d'aquests, la instal·lació la poden realitzar amb la següent comanda:
sudo apt install earlyoom
Fet això ara s'ha d'habilitar el servei amb la comanda:
sudo systemctl enable earlyoom
I s'inicia amb:
sudo systemctl start earlyoom
Per al cas de Fedora i RHEL 8 amb EPEL, Es pot instal·lar amb la següent comanda:
sudo dnf install earlyoom
I el servei s'activa amb:
sudo systemctl enable --now earlyoom
Finalment, per al cas d'Arch Linux o qualsevol altra derivada d'aquest, La instal·lació es fa amb la següent comanda:
sudo pacman -S earlyoom
I s'activa el servei amb:
sudo systemctl enable --now earlyoom
Per a la resta de les distribucions de Linux, poden realitzar la instal·lació compilat el codi de la utilitat.
Per obtenir el codi el podem fer amb la següent comanda:
git clone https://github.com/rfjakob/earlyoom.git
cd earlyoom
Procedim a realitzar la compilació amb:
make
I vam instal·lar (si tens systemd):
sudo make install
O per als que no tenen systemd:
sudo make install-initscript
I per utilitzar el servei ho fas amb:
./earlyoom
Un detall de l'títol: «fata de memòria»
Gràcies per l'observació. Salutacions! 🙂
Crec que hi ha un detall amb la instal·lació en Manjaro (derivada d'Arch). No vaig trobar el paquet en els repositoris normals.
Així que la instal·lació hauria de ser mitjançant yaourt.
yaourt earlyoom
Salutacions!
En Arch, aquesta dins el repositori community el qual ha d'estar habilitat en pacman.conf. De la mateixa manera com esmentes també està en AUR.
Gràcies per l'observació 😀
Hola, vull que aquest servei s'iniciï en MXLinux cada vegada que encenc l'ordinador sense haver de posar la comanda en terminal, com puc fer-ho?