Tutorial Para matar(kill) procesos que exceden tope de memoria

Foro de soporte para usuarias de habla hispana

Moderator: Wibol

Forum rules
Topics in this forum are automatically closed 6 months after creation.
Locked
Juan_David95
Level 2
Level 2
Posts: 73
Joined: Tue Aug 23, 2022 7:50 pm

Tutorial Para matar(kill) procesos que exceden tope de memoria

Post by Juan_David95 »

Amigos de Linuxmint:

Como ya saben Chrome y Firefox son unos devoradores y ladrones de memoria jjj; Vscode no ayuda tampoco y por si fuera poco crea un proceso con la extencion TabNine que a veces se sale de control sobrepasando los 700Mb e incluso 1Gb.

Pues dada la problematica les traigo la solucion, para que ayude a otros ya que yo no la encontre en internet.

Un Script para monitorear una aplicacion y matar el proceso que mas consume memoria. Lo bueno es que no mata toda la aplicacion, solo el proceso que excede el tope que ustedes le coloquen:

primer script kill_mem.sh

Code: Select all

#!/bin/sh

numPro=$(ps aux | awk '{print $6,$2,$11}' | sort -nr|grep $1|head -1|awk '{print $2}')

while [ numPro=1 ];
do
numPro=$(ps aux | awk '{print $6,$2,$11}' | sort -nr|grep $1|head -1|awk '{print $2}')
SIZE=$(ps aux | awk '{print $2,$11,$6}' | sort -nr|grep $numPro|head -1|awk '{print $3/1024 " MB\t\t"}')
SIZEMB=${SIZE%.*}

echo "Process id ="$numPro" Size = "$SIZEMB" MB"
if [ $SIZEMB -gt $2 ];
then 
echo "Tamaño se ha excedido.\nKilling the process......"
`kill -9 $numPro`
echo "Killed the process"
sleep 10
else
sleep 1
echo "Tamaño no se ha excedido"
fi

sleep 9
done
segundo script para colocarlo en aplicaciones de inicio:

Code: Select all

#!/bin/sh

cd ~/bin/scripts/

sh kill_mem.sh chrome 640 & sh kill_mem.sh TabNine 640
Pues ya saben como es lo pegan en un archivo .sh(lo recomendado es en ~/bin/ si no existe creen la carpeta bin en su /home/suusuario/bin) y le dan permisos de ejecucion. Los topes de memoria esta en Mb, les recomiendo que les pongan un tope algo mas elevedo de lo que deseean, por ejemplo mi tope es de 500Mb yo le coloque 640 porque la salida del comando ps muestra un consumo un poco mas elevado que el monitor del sistema. Pero estan en la libertad de probar y ajustarlo a su gusto y necesidad.

El script esta diseñado para actuar como un demonio-policia en su sistema es decir siempre estara ejecutandose y verificando por lo que recomiendo que comenten con un # las lineas donde se imprime texto, ya saben de esta forma:

Code: Select all

#echo "Killed the process"
: para evitar cualquier consumo en la ram.

Pues amigos eso es todo, el que quiera mejorarlo esta en la libertad y porfa comparta para ayudar a otros que tambien lo necesitan.

Dios les bendiga.
Last edited by LockBot on Thu Mar 16, 2023 10:00 pm, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Locked

Return to “Español - Spanish”