---
title: "Control de carga automático para servidores dedicados"
date: "2009-09-29T17:48:43+02:00"
modified: "2009-09-29T08:59:58+02:00"
author: "David Carrero Fdez-Baillo"
section: "Programación y software"
canonical: "https://carrero.es/control-de-carga-automatico-para-servidores-dedicados/"
site: "Carrero"
---

# Control de carga automático para servidores dedicados

Llevaba algunas semanas con problemas en uno de [mis servidores dedicados](https://carrero.es/search/servidores+dedicados), cada varias horas y sin explicación alguna la carga subía y se quedaba sin memoria, pero el servidor no está sobrecargado, se saturaba sin más.

**Para solucionar** este tipo de [problemas en servidores dedicados](https://carrero.es/search/servidores+dedicados) hay que controlar la carga del servidor y procesos del servidor web para si es necesario y la carga es elevada realizar un reinicio forzado del servidor web.

**La mejor opción es comprobar la carga del servidor**(load average) con este script en bash que puede adaptar y mejorar si lo deseas, ayudándote con efecto menéame o digg.

> ```
> #!/bin/bash
> loadavg=`uptime | awk '{print $10}'`
> RESTART="service httpd restart"
> # bash doesn't understand floating point
> # so convert the number to an interger
> thisloadavg=`echo $loadavg|awk -F \. '{print $1}'`
> if [ "$thisloadavg" -ge "8" ]; then
> echo "Busy - Load Average $loadavg ($thisloadavg) "
> httpd -k stop
> elif [ "$thisloadavg" -le "2" ]; then
> echo "Okay - Load Average $loadavg ($thisloadavg) "
> pgrep httpd
> if [ $? -ne 0 ] # if apache not running
> then
> # restart apache
> $RESTART
> echo "restart!"
> else
> echo "no restart!"
> fi
> else
> echo "waiting...! $loadavg ($thisloadavg)"
> fi
> ```

Guarda este código por ejemplo como */root/checkload.sh*

Ahora lo único que tenemos que hacer es añadir un tarea programada o cron en nuestro [servidor linux](http://linuxgratis.com).

```
*/1 * * * * root sh /root/checkload.sh
```

Yo tengo puesto el cron cada 10 minutos, en el ejemplo lo hemos puesto para que cada minuto compruebe la carga del servidor por si es muy elevada y es necesario reiniciar el servidor web.

Espero que este script os resulte útil para vuestro servidor web.

vía: [zedomax](http://zedomax.com/blog/2008/09/23/linux-web-server-hack-how-to-write-automated-load-balancing-script/)

---

Fuente: https://carrero.es/control-de-carga-automatico-para-servidores-dedicados/
