Como administrador del sistema, deberá realizar un seguimiento frecuente de la utilización de la CPU y la memoria. Por lo tanto, es recomendable usar un script de shell para este propósito, para calcular automáticamente estas métricas y mantenerlo actualizado. En este artículo, veremos cómo crear un script de shell para obtener la utilización de CPU y memoria en Linux.
Script de shell para obtener la utilización de CPU y memoria
Estos son los pasos para crear script de shell para obtener la utilización de CPU y memoria.
Cree un script de shell vacío
Abra terminal y ejecute el siguiente comando para crear un script de shell en blanco.
$ sudo vi system_stats.sh
Calcular el uso de CPU y memoria
Agregue las siguientes líneas para calcular el uso de CPU y memoria.
#!/bin/bashecho `date`#cpu use thresholdcpu_threshold='80' #mem idle thresholdmem_threshold='100' #disk use thresholddisk_threshold='90'#---cpucpu_usage () {cpu_idle=`top -b -n 1 | grep Cpu | awk '{print }'|cut -f 1 -d "."`cpu_use=`expr 100 - $cpu_idle` echo "cpu utilization: $cpu_use"if then echo "cpu warning!!!" else echo "cpu ok!!!"fi}#---memmem_usage () { #MB unitsmem_free=`free -m | grep "Mem" | awk '{print +}'` echo "memory space remaining : $mem_free MB"if then echo "mem warning!!!" else echo "mem ok!!!"fi}#---diskdisk_usage () {disk_use=`df -P | grep /dev | grep -v -E '(tmp|boot)' | awk '{print }' | cut -f 1 -d "%"` echo "disk usage : $disk_use" if then echo "disk warning!!!" else echo "disk ok!!!"fi }cpu_usagemem_usagedisk_usage
En el código anterior, hemos definido 3 funciones cpu_usage, mem_usage y disk_usage para calcular la utilización de cpu, memoria y disco. También hemos definido valores de umbral para cpu, memoria y disco.
Para calcular el uso de CPU, ejecutamos el comando superior y usamos grep + awk para extraer el % de CPU inactivo de su salida. Luego lo restamos de 100 para calcular el uso de la CPU.
Utilizamos el comando free para calcular el uso de memoria y el comando df para calcular el uso de disco.
Además, también comprobamos cada uno de estos valores con sus respectivos valores de umbral y mostramos las advertencias adecuadas si superan los valores de umbral.
Hacer ejecutable el script de Shell
Ejecute el siguiente comando para hacer ejecutable el script de shell.
$ sudo chmod +x system_stats.sh
Test shell script
Puede ejecutar su shell script utilizando el siguiente comando
./system_stats.shcpu usage : 35%memory space remaining : 3330 MBdisk usage : 21%
Crear trabajo Cron
Tendrá que inspeccionar con frecuencia el uso de la cpu, la memoria y el disco, por lo que es recomendable crear un trabajo cron para él. Abra crontab con el siguiente comando.
$ sudo crontab -e
Añádale las siguientes líneas.
0 10 * * * ./system_stats.sh >>/opt/system.log
En el código anterior, configuramos un cronjob que se ejecuta system_stats.sh script de shell todos los días a las 10.a. m y añade la salida a/opt / system.registro. Usted puede cambiarlo según su requisito.
De esta manera, tendrá un registro diario de la información de su sistema en un solo archivo. Simplemente puede verlo con el siguiente comando.
$ sudo cat /opt/system.log
En este artículo, hemos aprendido a crear un script de shell simple para rastrear las 3 métricas más importantes de cualquier sistema Linux: uso de CPU, uso de memoria, uso de disco. Puede usarlo para realizar un seguimiento de la información del sistema y la utilización de recursos con regularidad.
También puede leer:
Cómo Comprobar el estado de la SSD en Linux
Cómo Configurar la Puerta de enlace predeterminada en Linux
Cómo Tocar todos los archivos en el Directorio
Cómo Salir para Bucle en el Script de Shell
Cómo Configurar la Versión Predeterminada de Python