Cómo ver la memoria RAM usada y libre en Linux

Estás en:
Tiempo estimado de lectura: 2 min

La memoria RAM es el componente que almacena temporalmente los datos que se procesan en un servidor web o servidor de hosting (y en cualquier computadora normal). Es donde se guardan datos que se van a usar pronto. El acceso a la memoria RAM es mucho más rápido que al disco duro.

Para optimizar un servidor, es muy importante saber la memoria RAM usada y la memoria RAM libre, especialmente en servidores Linux sin interfaz gráfica donde tenemos que revisar estos parámetros usando la terminal de Linux.

En el caso de servidores web Apache o Nginx, y en el caso de servidores de bases de datos MySQL, saber la memoria RAM usada y la memoria RAM libre disponible para usar puede ser más importante, ya que es la forma de saber los recursos que tenemos para que los servicios funcionen. De hecho, estos datos (y otros más) son los que usa el script MySQLTuner para sugerir parámetros de optimización de MySQL y MariaDB.

En este caso, aprenderemos a verificar cuánta memoria máxima tiene nuestro sistema Linux y cuánta de ella es memoria en uso, libre o cacheada.

Con el comando FREE podremos ver la memoria disponible (libre):

free -h

El comando «free» es una herramienta útil para conocer el estado de la memoria en nuestro sistema. Con este comando podemos ver cuánta memoria RAM y memoria virtual tenemos disponible, ocupada y compartida. También podemos ver el uso de los buffers y el caché del sistema. El comando «free» nos muestra los datos en kilobytes, pero podemos usar diferentes opciones para cambiar el formato de salida.

                     total       used           free      shared      buffers       cached
Mem:                  2.0G       1.5G           470M        300M           0B         414M
-/+ buffers/cache:    1.1G       885M
Swap:                   0B         0B             0B

 

Una forma de ver la memoria inactiva es con el comando vmstat, que nos muestra el uso de la memoria virtual y el rendimiento del sistema. El comando vmstat tiene varios parámetros que podemos usar para ajustar la salida, pero uno de los más útiles es el intervalo de tiempo en segundos. Por ejemplo, si ejecutamos vmstat 5, veremos una línea cada 5 segundos con los datos actualizados de la memoria y el sistema. La columna inact nos indica la cantidad de memoria inactiva en kilobytes.

vmstat -s -S M

Como resultado tendremos:

2048 M total memory
1582 M used memory
1124 M active memory
 406 M inactive memory
 465 M free memory
   0 M buffer memory
 407 M swap cache
   0 M total swap
   0 M used swap
   0 M free swap

 

Una forma alternativa de ver el estado de la memoria RAM en un servidor Linux es usar el comando cat /proc/meminfo/, que nos muestra varios datos sobre el uso y la disponibilidad de la memoria. Sin embargo, este método no nos permite personalizar la salida ni filtrar la información que nos interesa.

cat /proc/meminfo/

Al ejecutar este comando, veremos algo así:

 

Si usamos un panel de control de hosting o de administración como cPanel, Plesk, VestaCP o Webmin o cualquier otro que tenga una interfaz gráfica, podremos acceder a los datos de memoria RAM usada y memoria RAM libre y cacheada desde el panel, lo que nos facilita la tarea pero que puede no ser muy fiable si los datos no se actualizan con frecuencia.

Para optimizar el uso de memoria en un servidor, hay que tener en cuenta que la memoria RAM está diseñada para ser usada, no para estar «libre». Por eso, solo debemos preocuparnos si nuestro servidor Linux da errores por exceso de memoria RAM, pero si el servidor funciona bien y no hay caídas en los servicios (web, bases de datos, correo, etc.), no hay problema en que se use el 100% de la memoria RAM (a menos que esperemos picos de tráfico muy altos).

Was this article helpful?
Dislike 0
Visualizaciones: 46