2009-06-23 34 views
26

Có nghĩa là gì khi có mức sử dụng CPU 350% (theo một quy trình) trên một hộp 4 -4-CPU? Quá trình này là 'mysqld' hiện đang bị 'ném bom' bởi một kịch bản OLTP được mô phỏng.Hiểu việc sử dụng CPU 'hàng đầu'

Bất kỳ con trỏ nào được đánh giá cao.

+1

Không nên chuyển bài viết này sang ServerFault? –

Trả lời

40

Trong * NIX đất, 100% sử dụng CPU là 100% của một CPU SINGLE.

Điều này áp dụng cho các bộ vi xử lý đa lõi giống như các máy tính đa bộ xử lý thực.

Vì vậy, bạn đang sử dụng 7/8 tổng số chu kỳ CPU của mình trên mysql.

+1

Trừ khi anh ta có lõi đa luồng, vì chúng hiển thị dưới dạng các lõi riêng lẻ. Tôi làm việc trên một máy chủ có bộ vi xử lý Xeon 6 lõi kép và nó hiển thị 24 lõi, khi thực sự nó có 12. – bafromca

4

Có 4 x 100%, vì vậy "trên cùng" hiển thị tổng cộng 400% trên hộp 4 CPU.

3

Mỗi quy trình CPU được xem là 100%. Vì vậy, totatlly nó 400% của 4 CPU.

28

Khi chạy trên cùng, nhấn "1". Thao tác này sẽ chuyển đổi chế độ xem để bạn có thể xem tải cho mỗi lõi/CPU riêng lẻ.

18

Tôi vừa mới đọc một bài viết thú vị về chủ đề này hôm qua: Unix load average. Nó sẽ giải thích tất cả những gì bạn cần biết và hơn thế nữa.

Extract:

trung bình tải là tổng chiều dài chạy hàng đợi và số lượng việc làm hiện đang chạy trên CPU. Trong Solaris 2.0 và 2.2 tải trung bình không bao gồm các công việc đang chạy nhưng lỗi này đã được sửa trong Solaris 2.3.

Hãy xem xét có hai chế độ cơ bản để hiển thị tải: "Chế độ IRIX" và "Chế độ năng lượng mặt trời". Trong chế độ IRIX (Linux mặc định), mức trung bình tải là 1 có nghĩa là một CPU được nạp đầy đủ (hoặc 25% của mỗi CPU trên một hệ thống 4 CPU, vv). Trong chế độ Solaris, mức trung bình tải là 1 nghĩa là tất cả CPU được tải đầy đủ (vì vậy nó thực sự tương đương với "chế độ IRIX" tải chia cho Số CPU).

+1

Đó là một liên kết rất thú vị và mang tính thông tin! Cảm ơn bạn! –

6

Tải trung bình cho biết có bao nhiêu tiến trình đang chờ trên hàng đợi (được điều chỉnh cho số CPU). Với một CPU, mức trung bình tải là 1,0 có nghĩa là CPU này có thể xử lý hoàn toàn tất cả các yêu cầu trên hàng đợi một cách tối ưu - không có quá trình nào chờ CPU, và không có chu kỳ CPU nào bị lãng phí (tức là không hoạt động). Một tải trung bình là 2.0 (trên một hệ thống lõi đơn (có nghĩa là một nửa các quá trình sẽ chờ đợi một cơ hội để chạy trên CPU :-(Một tải trung bình là 0,33 sẽ có nghĩa là có quá ít tải trên hệ thống 2/3 thời gian CPU cơ bản không làm gì ngoài việc đợi thêm các quy trình để chạy.

Tỷ lệ phần trăm CPU được hiển thị ở trên là thước đo quá trình một hạt nhân được nạp vào CPU một cách thường xuyên. Vì vậy, 350% trên một hệ thống 4 lõi có nghĩa là, trong một khoảng thời gian, mysqld sẽ chiếm hơn ba CPU đầy đủ và một nửa thời gian của CPU thứ tư - tức là nó có quá nhiều luồng để chạy phần trăm CPU không thực sự đưa vào tài khoản hàng chờ đợi (trong khi tải trung bình không): đó là một số liệu thống kê sau khi thực tế về những gì đã xảy ra trong một khung thời gian nhất định. NULL y cho thấy các quy trình nào đã sử dụng (các) CPU gần đây.

Một bài viết kỹ lưỡng khác về cùng một chủ đề: http://www.linuxjournal.com/article/9001

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