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.
Jawaban:
Perlu diingat,
m2.micro
contohnya 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 menekanShift-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
top
dan lihat perintah mana yang paling banyak menggunakan sumber daya.sumber
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
top
dan lihat%st
nilai yang disorot di sini:Jika nilai ini selain nol, itu berarti siklus CPU VM Anda sedang "dipinjam".
sumber