Mesin virtual Amazon EC2 memiliki penggunaan CPU 100%

9

Mesin virtual Amazon EC2 saya sangat sering menggunakan CPU 100%. Saya hanya memiliki instalasi wordpress di atasnya. Saya masih dalam mode produksi, jadi tidak ada pengguna tetapi saya mendapatkan penggunaan CPU 100%.

Apakah ada yang tahu cara menguranginya? Saya mendapat pemberitahuan Email Amazon setiap jam karena itu berlangsung lebih dari 300 detik.

Saya sudah memindahkan database saya ke RDS tetapi tidak menyelesaikan masalah itu. Itu hanya membuatnya sedikit lebih baik. Sebelum pindah ke RDS dengan database saya, situs web saya selalu macet total saat memuat hanya satu halaman web.

Mysqld.log saya memberikan errno 12 error itu sebabnya saya juga melakukan innodb_buffer_pool_size = 256M di my.cnf tetapi tidak membawa apa-apa.

Akan berterima kasih atas setiap tip.

Jaba L
sumber
1
Anda perlu memantau instance Anda untuk melihat apa yang sedang terjadi. Anda tidak mengatakan OS mana yang Anda gunakan tetapi jika Linux cepat dan mudah itu teratas. Jangka panjang Anda harus mempertimbangkan sesuatu yang lain.
user9517
Di linux perintah teratas proses apa yang memakan CPU Anda. Tekan (Shift + P) untuk mengurutkan proses sesuai pemanfaatan CPU Terima kasih Sandeep
ZVIK
Terima kasih @lian! Ya saya menggunakan Linux. Jadi itu normal bahwa itu hanya sangat sering berjalan hingga 100% CPU? Saya sudah memonitornya dengan alarm dan mendapatkan notifikasi alarm yang menjengkelkan ini melalui email beberapa kali sehari. Apakah maksud Anda Ec2 tidak sepadan, terutama dengan paket kecil hanya ketika berinvestasi banyak? Terima kasih atas bantuan Anda
Jaba L
Terima kasih @ZVIK atas bantuan Anda! Bisakah Anda jelaskan sedikit lebih detail. Saya pikir saya belum memahaminya. Di mana saya bisa Tekan (Shift + P). Di baris perintah SSH? Maaf atas pengalaman saya yang kurang. Hal lain yang muncul adalah Terminal SSH saya menjadi sangat lambat setelah beberapa saat. Untuk mengetik perintah ssh dan untuk mendapatkan respons terkadang membutuhkan waktu yang sangat lama, ini sangat tertunda. Saya pikir itu karena penggunaan CPU juga. Hanya dengan memulai kembali dengan perintah "sudo service httpd stop / start" dan "sudo service mysqld restart" Saya membuatnya berjalan lebih cepat lagi. Tapi itu tidak berlangsung lama.
Jaba L
@Jaba LI kira ada kebocoran memori dalam kode
ZVIK

Jawaban:

7

Perlu diingat, m2.microcontohnya hanya itu - mereka kecil. Jumlah beban nyata apa pun akan memaksimalkannya.

Seperti yang ditunjukkan oleh @zvik dalam komentarnya, Anda harus mengetahui proses apa yang paling banyak menghabiskan siklus memori dan / atau CPU. Dia merekomendasikan menjalankan top, yang merupakan perintah yang ditemukan di distribusi Linux. Dengan menekan Shift-P, itu akan mengurutkannya berdasarkan penggunaan CPU. Anda perlu menggunakan informasi ini untuk mencari tahu di mana kemacetannya. Misalnya, jika ini menjalankan Apache, konfigurasi default untuk Apache mungkin untuk meluncurkan lebih banyak proses daripada yang mampu dilakukan server.

Coba jalankan topdan lihat perintah mana yang paling banyak menggunakan sumber daya.

Andrew M.
sumber
1
Saya memeriksanya dan Apache mengambil sebagian besar sumber daya. m2.micro benar-benar dapat dimuat dengan mudah. Saya pikir saya bisa menggunakan mikro untuk situs produksi kecil tapi sayangnya mot mungkin sama sekali. Terima kasih atas bantuan Anda
Jaba L
15

Masalah Anda mungkin sebenarnya adalah "mencuri CPU" yang terjadi di seluruh tumpukan Amazon (dan faktanya, setiap infrastruktur tervirtualisasi). Anda dapat membaca lebih lanjut tentang mencuri CPU di sini .

Pada dasarnya, VM Anda menganggur dan Amazon "meminjam" beberapa siklus CPU Anda untuk diberikan kepada orang lain yang membutuhkannya - ini adalah praktik standar untuk lingkungan tervirtualisasi di mana sumber daya server fisik seperti penggunaan RAM dan siklus CPU sering sangat komitmen berlebihan .

Untuk memeriksa mencuri CPU, jalankan topdan lihat %stnilai yang disorot di sini:

output perintah teratas

Jika nilai ini selain nol, itu berarti siklus CPU VM Anda sedang "dipinjam".

Craig Watson
sumber
1
Terima kasih @ craig-watson atas jawaban Anda. Saya baru saja memeriksa% st dan antara 0-5%. Terima kasih atas tautannya, itu juga sangat informatif
Jaba L