2010-12-27 26 views
9

Tôi đang thiết lập một cá thể trong Amazon EC2, một máy chủ ubuntu 10.04 chạy apache2, php5 và mysql.Làm thế nào để giải quyết tải CPU cao bằng apache? (ubuntu + ec2)

Với ít hơn 10 người dùng sử dụng hệ thống, máy chủ nhận được 20%, 30%, 40% tải CPU.

Sử dụng đầu tôi thấy trong những cái đầu tiên dòng:

11121 www-data 20 0 71.940 20m 11m S | 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

Tổng CPU trong 4 dòng này là 53,5.

Làm cách nào để xem chi tiết hơn các quy trình?
Làm cách nào tôi có thể xem xét các tập lệnh đang chạy, thời gian cần thiết, bộ xử lý mỗi bộ xử lý tiêu thụ?

Cảm ơn.

Trả lời

3

Bạn có thể sử dụng dấu vết trên quy trình gốc để hiểu rõ hơn về công việc của nó.

+0

Ok .. Tôi sử dụng nó .. nhưng tôi muốn biết thêm về quá trình apache. Không chỉ "làm thế nào" nó xử lý, nhưng những gì. Tập lệnh nào hiện đang chạy? Bao nhiêu thời gian mỗi kịch bản được speending từ CPU của tôi? –

3

Một cách để xem những gì nó đang làm là sử dụng lsof (bạn có thể phải cài đặt nó). Để xem những gì các quá trình trong ví dụ của bạn đang truy cập bạn sẽ làm điều này:

lsof -p 11121,10108,11122,10111

này sẽ cho bạn thấy tất cả các file mà quá trình có mở. Thông thường một CPU cao trên quá trình apache là do một cái gì đó trang web đang cố gắng để làm phía máy chủ.

Các vấn đề liên quan