Ví dụ vi mô Amazon EC2 có mức sử dụng CPU 100%


9

Ví dụ vi mô Amazon EC2 của tôi có mức sử dụng CPU 100% rất thường xuyên. Tôi chỉ có một cài đặt wordpress trên nó. Tôi vẫn đang ở chế độ sản xuất, vì vậy không có người dùng nhưng tôi sử dụng 100% CPU.

Có ai biết làm thế nào để giảm nó? Tôi nhận được thông báo Email của Amazon mỗi giờ vì điều đó kéo dài trong khoảng thời gian hơn 300 giây.

Tôi đã chuyển cơ sở dữ liệu của mình sang RDS nhưng không giải quyết được vấn đề đó. Nó chỉ làm cho nó tốt hơn một chút. Trước khi chuyển sang RDS với cơ sở dữ liệu của tôi, Trang web của tôi luôn bị sập hoàn toàn khi chỉ tải một trang web.

Mysqld.log của tôi đưa ra lỗi 12 lỗi, đó là lý do tại sao tôi cũng đã làm innodb_buffer_pool_size = 256M trong my.cnf nhưng không mang lại điều gì.

Sẽ biết ơn cho mỗi mẹo.


1
bạn cần theo dõi trường hợp của bạn để xem những gì đang xảy ra. Bạn không nói hệ điều hành nào bạn đang sử dụng nhưng nếu Linux thì nhanh chóng và dễ dàng. Lâu dài, bạn nên xem xét một cái gì đó khác.
dùng9517

Trong linux top lệnh, quá trình nào đang ăn hết cpu của bạn. Nhấn (Shift + P) để sắp xếp các quy trình theo mức độ sử dụng CPU Cảm ơn Sandeep
ZVIK

Cảm ơn @lian! Có, tôi đang sử dụng Linux. Vì vậy, nó là bình thường mà nó chỉ rất thường xuyên lên đến 100% CPU? Tôi đang theo dõi nó với một báo thức đã nhận được và nhận được thông báo báo động gây phiền nhiễu này qua email một vài lần một ngày. Bạn có nghĩa là Ec2 không xứng đáng, đặc biệt là không chỉ với các gói nhỏ khi đầu tư nhiều? Cảm ơn sự giúp đỡ của bạn
Jaba L

Cảm ơn @ZVIK vì sự giúp đỡ của bạn! Bạn có thể vui lòng giải thích chi tiết hơn một chút Tôi nghĩ rằng tôi chưa hiểu nó ngay. Tôi có thể nhấn ở đâu (Shift + P). Trong dòng lệnh SSH? Xin lỗi vì sự thiếu kinh nghiệm của tôi. Một điều nữa xuất hiện là SSH Terminal của tôi sẽ rất chậm sau một thời gian. Để gõ một lệnh ssh và để nhận được phản hồi đôi khi phải mất rất lâu. Tôi nghĩ rằng đó là do việc sử dụng CPU quá. Chỉ bằng cách khởi động lại với các lệnh "sudo service httpd stop / start" và "sudo service mysqld restart" tôi mới có thể chạy lại nhanh hơn. Nhưng nó không tồn tại lâu.
Jaba L

@Jaba LI giả sử có mã rò rỉ bộ nhớ
ZVIK

Câu trả lời:


7

Hãy ghi nhớ, các m2.microtrường hợp chỉ là như vậy - chúng nhỏ. Bất kỳ số lượng thực sự của tải sẽ tối đa chúng ra.

Như @zvik đã chỉ ra trong các bình luận của mình, bạn nên tìm hiểu các quá trình đang tiêu tốn nhiều bộ nhớ và / hoặc chu kỳ CPU nhất. Ông khuyên nên chạy top, đó là một lệnh được tìm thấy trên các bản phân phối Linux. Bằng cách nhấn Shift-P, nó sẽ sắp xếp chúng dựa trên việc sử dụng CPU. Bạn sẽ cần sử dụng thông tin này để tìm ra nút thắt ở đâu. Ví dụ: nếu điều này đang chạy Apache, cấu hình mặc định cho Apache có thể là để khởi chạy nhiều quy trình hơn khả năng của máy chủ.

Hãy thử chạy topvà xem lệnh nào đang tiêu tốn nhiều tài nguyên nhất.


1
Tôi đã kiểm tra nó và Apache đang tận dụng tối đa các tài nguyên. m2.micro thực sự được tải ra rất dễ dàng. Tôi nghĩ rằng tôi có thể sử dụng vi mô cho một trang web sản xuất nhỏ nhưng điều đó thật đáng buồn. Cảm ơn sự giúp đỡ của bạn
Jaba L

15

Vấn đề của bạn thực sự có thể là do "ăn cắp CPU" xảy ra trên ngăn xếp của Amazon (và như một vấn đề thực tế, bất kỳ cơ sở hạ tầng ảo hóa nào). Bạn có thể đọc thêm về ăn cắp CPU ở đây .

Về cơ bản, VM của bạn không hoạt động và Amazon đang "mượn" một số chu kỳ CPU của bạn để cung cấp cho người khác cần nó - đây là cách thực hành chuẩn cho môi trường ảo hóa, nơi tài nguyên máy chủ vật lý như sử dụng RAM và chu kỳ CPU thường được cam kết quá mức .

Để kiểm tra việc đánh cắp CPU, hãy chạy topvà xem %stgiá trị được tô sáng ở đây:

đầu ra lệnh hàng đầu

Nếu giá trị này là bất kỳ giá trị nào khác 0, điều đó có nghĩa là chu kỳ CPU của máy ảo của bạn đang bị "mượn".


1
Cảm ơn bạn @ craig-watson rất nhiều vì câu trả lời của bạn. Tôi chỉ kiểm tra% st và nó nằm trong khoảng 0-5%. Cảm ơn vì liên kết quá, nó rất nhiều thông tin
Jaba L
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.