2010-12-27 15 views
9

Amazon EC2'de, apache2, php5 ve mysql çalıştıran bir ubuntu 10.04 sunucusunda bir örnek yapıyorum.Yüksek CPU yükü apache ile nasıl çözülür? (ubuntu + ec2)

Sistemin kullanıldığı 10'dan az kullanıcıyla, sunucu CPU yükünün% 20'sini,% 30'unu,% 40'ını alır. |

11121 www-data 20 0 71940 20m 11m S:

Ben ilkler hatlarında bakınız üst kullanma 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

Bu 4 satırdaki CPU toplamı 53,5'tir.

İşlemleri daha ayrıntılı olarak nasıl görebilirim?
Her birinin tükettiği işlemcinin çalıştığı komut dosyalarına nasıl bakabilirim?

Teşekkürler.

cevap

3

Yaptığı işlem hakkında daha iyi bir fikir edinmek için ana işlemde strace'i kullanabilirsiniz.

+0

Tamam .. Kullanıyorum .. ama apache işlemiyle ilgili daha fazla bilgi istiyorum. Sadece "nasıl" değil, ne işliyor. Hangi script şimdi çalışıyor? Her bir betik CPU'mdan ne kadar zaman ayırıyor? –

3

Yaptıklarına bakmanın bir yolu lsof kullanmaktır (bunu yüklemeniz gerekebilir). sizin örnekte süreçler bunu yapacağını erişen görmek için:

11121,101081112210111

-p lsof Bu, sürecin açık vardır tüm dosyaları gösterecektir. Genellikle apache işleminde yüksek bir cpu, web sitesinin sunucu tarafında bir şeyler yapmaya çalışmasından kaynaklanmaktadır.

İlgili konular