Amazon EC2 mikro yönetim ortamının% 100 CPU kullanımı var


9

Amazon EC2 mikro yönetim ortamımda çok sık% 100 CPU kullanımı var. Sadece bir wordpress kurulumum var. Hala üretim modundayım, bu yüzden kullanıcı yok ama% 100 CPU kullanımı elde ediyorum.

Birisi nasıl azaltılacağını biliyor mu? 300 saniyeden fazla sürmesi nedeniyle her saat Amazon E-posta bildirimi alıyorum.

Veritabanımı zaten RDS'ye taşıdım, ancak bu sorunu çözmedim. Sadece biraz daha iyi yaptı. Veritabanımla RDS'ye geçmeden önce web sitem sadece bir web sayfası yüklenirken her zaman tamamen çöktü.

Benim mysqld.log errno 12 hatası verir, bu yüzden de myodn_boder_pool_size = 256M yaptım ama hiçbir şey getirmedi.

Her ipucu için müteşekkir olur.


1
neler olduğunu görmek için örneğinizi izlemeniz gerekir. Hangi işletim sistemini kullandığınızı söylemiyorsunuz, ancak Linux hızlı ve kolaysa üst. Daha uzun vadede başka bir şey düşünmelisiniz.
user9517

Linux üst komutunda hangi işlem cpu yiyor. İşlemleri CPU kullanımına göre sıralamak için (Shift + P) tuşlarına basın Teşekkürler Sandeep
ZVIK

Teşekkürler @lian! Evet Linux kullanıyorum. Yani% 100 CPU'ya kadar çıkması normal mi? Zaten bir alarmla izliyorum ve bu sinir bozucu alarm bildirimlerini günde birkaç kez e-posta ile alıyorum. Ec2 buna değmez mi, özellikle de çok fazla yatırım yaparken küçük paketlerle değil mi? Yardımınız için teşekkürler
Jaba L

Yardımınız için @ZVIK teşekkür ederiz! Lütfen biraz daha ayrıntılı açıklar mısınız? Sanırım henüz tam olarak anlamıyorum. (Shift + P) tuşuna nerede basabilirim. SSH komut satırında mı? Deneyimim için özür dilerim. Görünen başka bir şey, SSH Terminalimin bir süre sonra çok yavaşlaması. Bir ssh komutu yazmak ve yanıt almak bazen çok uzun zaman alır. Bence CPU kullanımından da kaynaklanıyor. Sadece "sudo service httpd stop / start" ve "sudo service mysqld restart" komutlarıyla yeniden başlatarak tekrar hızlı çalışmasını sağlarım. Ama uzun sürmez.
Jaba L

@Jaba LI kodda bir bellek sızıntısı olduğunu varsayalım
ZVIK

Yanıtlar:


7

Unutmayın, m2.microörnekler sadece bu - küçükler. Herhangi bir gerçek yük, bunları en üst düzeye çıkarır.

@Zvik'in yorumlarında belirttiği gibi, hangi işlemlerin en fazla bellek ve / veya CPU döngüsünü harcadığını öğrenmelisiniz. topLinux dağıtımlarında bulunan bir komut olan çalıştırmayı önerdi . Tuşuna basıldığında Shift-PCPU kullanımına göre sıralanır. Darboğazın nerede olduğunu bulmak için bu bilgileri kullanmanız gerekecektir. Örneğin, bu Apache çalıştırıyorsa, Apache için varsayılan yapılandırma, sunucunun yapabileceğinden daha fazla işlem başlatmak olabilir.

topÇalıştırmayı ve en çok kaynağı hangi komutların tükettiğini görmeyi deneyin .


1
Kontrol ettim ve Apache kaynakların çoğunu kullanıyor. m2.micro gerçekten çok kolay yük alır. Küçük bir üretim alanı için mikro kullanabileceğimi düşündüm ama ne yazık ki bu mümkün. Yardımınız için teşekkürler
Jaba L

15

Sorununuz Amazon'un yığınında (ve aslında herhangi bir sanallaştırılmış altyapıda) gerçekleşen "CPU çalma" ya bağlı olabilir. CPU çalma hakkında daha fazla bilgiyi buradan edinebilirsiniz .

Temel olarak, VM'niz boşta ve Amazon, CPU döngülerinizin bir kısmını ihtiyacı olan birine vermek için "ödünç alıyor" - bu, RAM kullanımı ve CPU döngüleri gibi fiziksel sunucu kaynaklarının genellikle aşırı derecede kararlı olduğu sanallaştırılmış bir ortam için standart bir uygulamadır. .

CPU çalmasını kontrol etmek için, burada vurgulanan değere topbakın ve bakın %st:

üst komut çıkışı

Bu değer sıfır dışında bir değerse, VM'nizin CPU döngülerinin "ödünç alındığı" anlamına gelir.


1
Cevabınız için @ craig-watson'a çok teşekkür ederim. Sadece% st'yi kontrol ettim ve% 0-5 arasında. Bağlantı için teşekkürler de çok bilgilendirici oldu
Jaba L
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.