Sábado, Julio 11, 2020

Como sacar el porcentaje de memoria libre en linux

liberar-ram-linux

Muchas ocasiones me he topado con que los clientes internos y externos solicitan el estado de la memoria y muchas veces no les interesa la cantidad de gigas libres, sino el porcentaje, ya que 2 GB libres no es lo mismo cuanto tiene 4 Gb de RAM a que cuando tienes 256 GB de ram y solo tienes 2 GB libres que se pueden consumir en un segundo. Aquí te digo como puedes tener un porcentaja aproximado de memoria libre con un comando no tan simple pero que es mejor que estar haciendo cuentas cadas ves.

Como sacar el porcentaje de memoria libre en linux

Como administrador de sistemas es siempre importante tener un sistema de monitoreo que esté midiendo los recursos disponibles del sistema y sobre todo que te permita ver el historico, es decir, en un punto en el tiempo como estaba y ver cuando subio o bajo el uso de un recurso. Para esto siempre es bueno instalar aplicaciones como Nagios, Zabbix o algun otro.

Pero siempre está la necesidad de ir a un host y ver el estado del equipo en este momento y cuando solo hay disponible la linea de comandos. Para esto pues hay comandos como top, htop, vmstat o free

Pero ninguno te da el porcentage de memoria ocupada o libre como tal, así que me puse a ver como hacer uno que (aunque no exacto, es un trabajo en desarrollo) pudiera var una idea de la memoria ocupada y libre.

Para este comendo usaremos el comando free, pero usaremos los valores que genera para calcular el porcentaje. Así puedes tener ese % de memoria libre y memoria ocupada en porcentajes:

free | awk '/Mem/{printf("Memory used: %.2f%"), $3/$2100} /Mem/{printf(" free: %.2f%\n"),($6+$4)100/$2}'

No parece muy entendible, pero lo que hace es que calcula el porcentaje en base a la memoria total en función de la memoria usada y libre, que es la memoria libre mas la memoria buffer/cache.

Un ejemplo de la salida de este comando es esta:

$ free | awk '/Mem/{printf("Memory used: %.2f%"), $3/$2100} /Mem/{printf(" free: %.2f%\n"),($6+$4)100/$2}'
Memory used: 50.57% free: 49.43%

En algunos casos este valor puede no ser exacto, pero te da un valor a presentar que ayudará a algún DBA, un Project Manager o algún otro cliente a tomar una decisión sobre el host. La verdad es que es mucho mas legible o claro en la idea el porcentaje anterior que lo que obtienes con el comando free:

$ free
        total    used    free shared buff/cache available
Mem: 15932424 8119052 3509312 1044164   4304060   6431212
Swap: 2080764       0 2080764

Aun cuando solo veas los gigas de memoria libre es mas sencillo mostrar un porcentaje.

$ free -g
     total used free shared buff/cache available
Mem:    15    7    3      0          4         6
Swap:    1    0    1

Espero que te sirva para que puedas tener un dato que se de información rápida y práctica sobre el estado de la memoria de un host ya sea Centos, RHEL, Debian o cualquier otro linux que tenga el comando free.

 

Fuente: comoinstalarlinux

 

En-casa-3

¿Quién está en línea?

Hay 175 invitados y ningún miembro en línea

Contador de Visitas

10739359
Hoy Hoy 128
Ayer Ayer 2558
Esta semana Esta semana 13102
Este mes Este mes 26085
Total de Visitas Total de Visitas 10739359

Día con más
visitantes

06-03-2020 : 2881

Gracias por su visita