2010-12-27 22 views
9

Tengo instalada una instancia en Amazon EC2, un servidor ubuntu 10.04 ejecutando apache2, php5 y mysql.¿Cómo resolver la alta carga de CPU por apache? (ubuntu + ec2)

Con menos de 10 usuarios que usan el sistema, el servidor obtiene un 20%, 30%, 40% de carga de la CPU.

Usando la parte superior que veo en las líneas: PRIMEROS

11121 www-data 20 0 71940 20m 11m S | 22.6 | 1.2 | 0: 00.68 apache2
10108 www-data 20 0 72196 22m 12m S | 21.9 | 1.3 | 1: 15.81 apache2
11122 www-data 20 0 71936 20m 11m S | 7.3 | 1.2 | 0: 00.68 apache2
10111 www-data 20 0 72196 22m 12m S | 1.7 | 1.3 | 1: 16.43 apache2

La suma de CPU en estas 4 líneas es 53,5.

¿Cómo puedo ver más detalles de los procesos?
¿Cómo puedo ver los scripts en ejecución, los tiempos que lleva y la cantidad de procesador que consume cada uno?

Gracias.

Respuesta

3

Puede utilizar strace en el proceso principal para tener una mejor idea de lo que está haciendo.

+0

Ok .. Lo uso ... pero quiero saber más sobre el proceso de apache. No solo "cómo" procesa, sino qué. ¿Qué script se está ejecutando ahora? ¿Cuánto tiempo dedica cada guión a mi CPU? –

3

Una forma de ver lo que hace es usar lsof (puede que tenga que instalarlo). Para ver lo que los procesos en su ejemplo están accediendo podría hacer esto:

lsof -p 11121,10108,11122,10111

Esto le mostrará todos los archivos de ese proceso tiene abierto. Por lo general, una CPU alta en el proceso de Apache se debe a algo que el sitio web intenta hacer del lado del servidor.

Cuestiones relacionadas