2010-12-27 17 views
9

Sono installato un'istanza in Amazon EC2, un server ubuntu 10.04 con apache2, php5 e mysql.Come risolvere il carico elevato della CPU con Apache? (ubuntu + ec2)

Con meno di 10 utenti che utilizzano il sistema, il server riceve il 20%, il 30%, il 40% del carico della CPU.

Utilizzando top vedo nelle linee di primati:

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 somma CPU in queste 4 righe è 53,5.

Come posso vedere più dettagliati i processi?
Come posso dare un'occhiata agli script in esecuzione, i tempi necessari, l'ammontare del processore che ognuno consuma?

Grazie.

risposta

3

È possibile utilizzare strace sul processo padre per avere un'idea migliore di cosa sta facendo.

+0

Ok .. Lo uso .. ma voglio sapere di più sul processo di apache. Non solo "come" si elabora, ma cosa. Che script sono in esecuzione ora? Quanto tempo ogni script si sta spezzando dalla mia CPU? –

3

Un modo di guardare a ciò che sta facendo è usare lsof (potrebbe essere necessario installarlo). Per vedere ciò che i processi nel tuo esempio accedono si dovrebbe fare questo:

lsof -p 11121,10108,11122,10111

Questo ti mostrerà tutti i file di questo processo ha aperto. Di solito una CPU alta nel processo di apache è dovuta a qualcosa che il sito sta cercando di fare sul lato server.

Problemi correlati