Linux: Hiểu trung bình tải và% CPU?


4

Khi tôi thực thi toplệnh trên hệ thống Ubuntu của tôi, tôi thấy kết quả bên dưới

đầu trang - 07:58:58 lên 1:21, 1 người dùng, tải trung bình: 0,82, 0,73, 0,55 Nhiệm vụ: tổng cộng 293, 1 chạy, ngủ 29, dừng 0, zombie% Cpu (s): 0,8 us, 0,8 sy , ....

Tôi cần phải hiểu load average%cpu.

Sự hiểu biết của tôi dựa trên kiến ​​thức của tôi và mức sử dụng cpu cao nhưng mức tải trung bình thấp

Tải trung bình

Tải trung bình là một phép đo xem có bao nhiêu tác vụ đang chờ trong hàng đợi chạy kernel (không chỉ thời gian CPU mà cả hoạt động của đĩa) trong một khoảng thời gian. Có nghĩa là .83 nhiệm vụ đang chờ cho mỗi kết quả trên? Làm thế nào nó có thể là số thập phân? Ngoài ra ba con số khác nhau là 0.83 0.73, 0.55gì?

%CPU

Điều này thể hiện khoảng thời gian trong x giây cuối cùng, CPU đã hoạt động. Ví dụ: - nếu việc sử dụng CPU hiển thị 60%, điều đó có nghĩa là cpu trong x giây cuối cùng đã hoạt động 60% thời gian trong x giây. Sự hiểu biết của tôi có đúng không? Nếu có những gì %Cpu(s): 0.8 usđại diện?

Ngoài ra nếu tôi có 4 bộ xử lý CPU và% CPU hiển thị 50% thì có nghĩa là tất cả các lõi đều hoạt động 50% hay 2 CPU đang hoạt động 100%?

Câu trả lời:


5

Hiểu trung bình tải: 0,83 0,73, 0,55

  • Tải là số đo công việc tính toán mà hệ thống thực hiện. Ba giá trị là trung bình tải trong một khoảng thời gian. Các khoảng thời gian là, 1 phút cuối cùng, 5 phút và 15 phút. Tải trung bình được tính là trung bình di chuyển theo cấp số nhân . Nếu bạn muốn, bạn có thể lặn sâu và đọc Kiểm tra tải trung bình

  • Hệ thống lõi đơn

    • Giá trị trung bình tải khác nhau trong phạm vi. Với một hệ thống lõi đơn, giá trị 0.83có nghĩa là CPU của bạn đạt 83% công suất trong phút cuối. Giá trị 1.0sẽ có nghĩa là CPU của bạn có dung lượng chính xác (100%). Với giá trị 1.0, hệ thống sẽ bị quá tải bằng cách thêm một chút công việc bổ sung. Giá trị lớn hơn 1.0có nghĩa là nó nhận được nhiều hơn mức có thể xử lý. Điều này không tệ, nó chỉ có nghĩa là nhiều quá trình đang chờ thời gian của CPU. Bạn sẽ thấy sự chậm chạp của máy tính.
  • Hệ thống đa lõi

    • Với hệ thống đa lõi, bạn chia trung bình tải cho số lõi bạn có. Vì vậy, ví dụ, có trung bình tải 0.83và có 4 lõi, bạn sẽ mất 0.83 / 4để có được 0.2075hoặc (0.83 / 4) * 100có được 20.75%dung lượng. Với hệ thống lõi tứ, nếu bạn có mức tải trung bình lớn hơn mức 4.0đó sẽ cho thấy tất cả các lõi đều có công suất 100% và bất kỳ tình trạng quá tải nào cũng sẽ dẫn đến các quá trình chờ thời gian của CPU.
  • Quá tải xảy ra khi bạn vượt quá khả năng tối đa của bạn. Tải trung bình dưới dạng quá tải có thể hơi khó đọc vì nó dựa trên lõi của bạn. Nếu bạn có CPU lõi tứ, bạn sẽ không quá tải cho đến khi hết giá trị tải 4.0. Nếu giá trị trung bình tải đầu tiên là 5.50điều đó có nghĩa là hệ thống của bạn bị quá tải 150% và trung bình 1,5 quy trình trong phút cuối phải chờ thời gian của CPU.

Hiểu% Cpu (0,8), 0,8us, 0,8sy ....

  • Phần này là màn hình hiển thị CÁCH CPU đã được sử dụng. Mỗi hậu tố là viết tắt của một cái gì đó cụ thể và cho biết CPU đã dành bao nhiêu thời gian cho tập hợp tác vụ đó. Nếu bạn cộng tất cả các số trong hàng đầu ra đó, nó sẽ cộng tới 100%.

  • Các tác vụ được định nghĩa là ... nguồn

    • chúng tôi là tỷ lệ phần trăm của CPU cho các quy trình người dùng
    • sy là tỷ lệ phần trăm của CPU cho các quy trình hệ thống
    • ni là tỷ lệ phần trăm của các quá trình CPU với ưu tiên nâng cấp trứng Phục sinh đẹp
    • id là tỷ lệ phần trăm của CPU không được sử dụng
    • wa là tỷ lệ phần trăm của các quá trình CPU đang chờ các hoạt động I / O
    • hi là tỷ lệ phần trăm của CPU phục vụ ngắt phần cứng
    • si là tỷ lệ phần trăm của CPU phục vụ ngắt
    • st trong một môi trường ảo hóa, một phần của tài nguyên CPU được trao cho mỗi máy ảo (VM). HĐH phát hiện khi nào có việc phải làm, nhưng nó không thể thực hiện chúng vì CPU đang bận trên một số VM khác. Lượng thời gian bị mất theo cách này là thời gian đánh cắp

Cảm ơn DrZoo cho một câu trả lời mô tả như vậy. Bạn nói Load is the measure of the amount of computational work a system performstôi tin rằng một tuyên bố rõ ràng khác có thể là Load is the measure of the amount of computational work a system performs or need to perform (for the processes in queue)Khi bạn nói %Cpu(s) section is a displays HOW the CPU has been used, do đó, loại tải CPU của nó chỉ là nơi đo lường công việc thực tế được thực hiện không cần thực hiện cho các tác vụ trong hàng đợi.
dùng3198603

Ngoài ra khi số liệu thống kê cho biết %Cpu(s): 0.5usđiều đó có nghĩa là việc sử dụng CPU 50% (đối với quá trình người dùng) bao gồm tất cả các lõi. Ý tôi là nếu đó là bộ xử lý lõi tứ, doet có nghĩa là cả 4 lõi đều hoạt động được 50% thời gian hay nó cũng có thể là 2 lõi hoạt động với thời gian 100% trong x giây cuối cùng? Nếu có, giá trị của x đối với hệ điều hành Ubuntu / linux là gì?
dùng3198603

@ user3198603 0.5uscó nghĩa là ít hơn 1% nhiệm vụ mà CPU đã thực hiện là quá trình người dùng. Nếu bạn cộng tất cả các số trong %Cpu(s)dòng đầu ra, nó sẽ cộng tới 100%. Điều này chỉ đơn giản đề cập đến tất cả các công việc mà CPU đã thực hiện, bất kể lõi hay lõi nào đã làm việc. Tôi nghĩ rằng %Cpu(s)đầu ra không đề cập đến khung thời gian của x giây cuối cùng, mà là toàn bộ thời gian hoạt độngtop - 07:58:58 up
DrZoo

Cảm ơn rất nhiều @DrZoo. Là sự hiểu biết của tôi dưới bình luận đầu tiên là chính xác?
dùng3198603

@ user3198603 yeah phần% Cpu (s) là công việc đã được thực hiện. Không phải những gì trong hàng đợi.
DrZoo
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.