Home Programación Estadísticas de CPU en Linux

Por David Castañón

Un aspecto fundamental al momento de utilizar servidores de tipo físico o VPS en la nube son las mediciones de los recursos del sistema. Dichas mediciones nos permiten conocer el comportamiento de nuestro servidor, por ejemplo, podemos saber si las características del servidor están sobradas o son insuficientes, conocer los horarios en los cuales tiene más demanda el consumo de recursos, etc. Más allá del comportamiento del servidor, esta información nos permite tomar decisiones que repercutirán directamente en el ROI de la empresa.

Hay múltiples herramientas para este propósito, en este artículo mencionaremos SAR.

SAR es un conjunto de herramientas que recolectan información del sistema de forma periódica almacenándola en archivos binarios, al final del día, un script programado en el CRON del sistema genera un archivo final con los datos del día. Parte de la información que SAR almacena es: CPU, SWAP, Memoria, I/O, etc.

Para hacer uso de SAR necesita ser instalado en el sistema:

En una distribución Centos ejecutamos como root:

yum -y install sysstat

Una vez instalado, se comenzarán a guardar los datos. Por default cada 10 minutos se generan datos, pero esto se puede modificar en el archivo: /etc/cron.d/sysstat

Se modifica la línea:

# Run system activity accounting tool every 10 minutes

*/10 * * * * root /usr/lib64/sa/sa1 1 1

El primer valor indican los 10 minutos, en caso que se quiera cambiar el valor para que se ejecute cada 5 minutos el valor quedaría */5.

Transcurrido suficiente tiempo para recolectar datos si ejecutamos el comando SAR se mostrará la información recolectada del día corriente:

Linux 3.5.4-1.fc17.x86_64 (host)      09/27/2012     _x86_64_       (4 CPU)

08:50:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle

09:00:01 AM     all          2.70         0.01         1.10         1.74           0.00     94.45

09:10:01 AM     all          6.50         0.00         1.85         0.67           0.00     90.97

09:20:01 AM     all          3.64         0.00        1.17          0.22           0.00     94.97

09:30:01 AM     all          3.80         0.00         1.24         0.20          0.00     94.76

09:40:01 AM     all          2.50         0.00         0.82        0.11           0.00     96.57

09:50:01 AM     all          4.86         0.56         1.92         4.06           0.00     88.60

10:00:01 AM     all          2.87         0.00        0.87         0.13           0.00     96.14

10:10:01 AM      all          3.02         0.00        0.93         0.12          0.00     95.93

Average:              all           3.74         0.07        1.24         0.91           0.00

Si se desea hacer un análisis más visual, existe una herramienta llamada KSAR, la cual lee los archivos generados y crean una gráfica de los datos:


En resumen, la información obtenida de nuestros servidores nos ayudara a optimizar nuestros servidores y será una excelente guía al momento de contratar o levantar nuevas instancias.

Leave a Reply