Tại sao / làm thế nào để uptime thời gian trên mạng hiển thị tải CPU> 1?


14

Tôi có CPU 1 lõi được cài đặt trên PC. Đôi khi, uptimehiển thị tải> 1. Làm thế nào là điều này có thể và điều này có nghĩa là gì?

EDIT: Các giá trị tăng lên 2.4


Lưu ý: loadkhác với load average. Như @michas đã nói, tải là một chỉ số cho số lượng quá trình đang chờ thực hiện, nhưng tải trung bình là tải hệ thống trung bình được tính trong khoảng thời gian nhất định là 1, 5 và 15 phút.
Mohammad Kholghi

Câu trả lời:


20

Tải không bằng CPU. Về cơ bản, nó là một chỉ báo có bao nhiêu quá trình đang chờ để được thực thi.

Một số liên kết hữu ích:


Oh, ok, điều đó có ý nghĩa. Có cách nào để sử dụng CPU, không tải?
Richard Rodriguez

Nói chung, bạn có thể có nhiều CPU. Một người có thể hoàn toàn bận rộn và người kia chỉ nhàn rỗi. Có một cái nhìn htoptổng quan về "đồ họa" tốt đẹp.
michas

2
Điều này là không chính xác. Trung bình tải là một số liệu cho bao nhiêu quá trình đã sẵn sàng để được thực hiện. Điều này bao gồm các quy trình đang chờ, nhưng cũng có các quy trình hiện đang thực thi . Vì vậy, nếu trung bình tải là 1, có nghĩa là trung bình (trong khoảng thời gian nhất định), một CPU đã được sử dụng; nếu là hai, điều đó có nghĩa là trung bình có hai CPU được sử dụng. Như vậy, trung bình tải cụ thể cho hệ thống CPU đơn không giống với mức trung bình tải tương tự cho hệ thống đa lõi.
Wouter Verhelst


7

uptimehiển thị tải hệ thống (không chính xác sử dụng CPU), được mô tả man uptimenhư sau:

Trung bình tải hệ thống là số lượng trung bình của các quá trình ở trạng thái có thể chạy hoặc không bị gián đoạn. Một quá trình ở trạng thái có thể chạy được là sử dụng CPU hoặc chờ sử dụng CPU. Một quá trình ở trạng thái không bị gián đoạn đang chờ một số truy cập I / O, ví dụ như chờ đĩa. Các trung bình được thực hiện trong ba khoảng thời gian. Trung bình tải không được chuẩn hóa cho số lượng CPU trong một hệ thống, vì vậy trung bình tải là 1 có nghĩa là một hệ thống CPU được tải mọi lúc trong khi trên hệ thống 4 CPU có nghĩa là nó không hoạt động 75% thời gian.

Miễn là tải ít hơn số lõi CPU bạn có, nó sẽ ổn. Nếu nó ở trên, điều đó có nghĩa là hệ thống của bạn không thể đối phó với khối lượng công việc "thời gian thực". Vì vậy, một số quy trình cần chờ để có thời gian CPU (hoặc truy cập IO). Một dòng chờ được tạo ra.

Nếu bạn có tải 2.7, điều đó có nghĩa là trung bình (trong 1, 5 hoặc 15 phút cuối cùng, tùy thuộc vào giá trị bạn nhìn vào), 2.7 quy trình đang cố gắng thực hiện song song, nhưng bạn chỉ có 1 lõi, vì vậy hệ thống của bạn bị quá tải. Bạn đang yêu cầu quá nhiều từ nó.

Mặc dù vậy, đừng hoảng sợ, nó có thể không phải là một vấn đề như vậy: một khi công việc kết thúc, mọi thứ thường trở lại bình thường.


4

Thời gian hoạt động cho thấy đầu ra của /proc/loadavgtải.

Trang chủ của man 5 procnói

   /proc/loadavg
          The first three fields in this file are load average figures giving
          the  number  of jobs in the run queue (state R) or waiting for disk
          I/O (state D) averaged over 1, 5, and 15  minutes. 

Vì vậy, bạn có thể có tải cao ngay cả khi bạn có mức sử dụng CPU 0%. Một lõi có thể đạt được tải lên tới 100% hoặc 1 trên các hệ thống đa bộ xử lý.

Xem thêm Tải CPU cao trong I / O


-2
 ps aux --sort -rss |head -15

Điều này sẽ sắp xếp 15 quy trình được sử dụng nhiều nhất bởi bộ nhớ rss

Ngoài ra, điều này sẽ sắp xếp hầu hết các quy trình được sử dụng theo cpu và bộ nhớ

 ps aux --sort -pid |head -15

Nếu bạn có 1 CPU tải nhiều hơn 1 cảnh báo, hãy kiểm tra danh sách quy trình và xem ai trong số họ sử dụng nhiều CPU và RAM nhất

Khi bạn thấy hầu hết các quy trình được sử dụng, hãy thử xem tệp nào được mở bằng

lsof -p [PID_most_used]

Ngoài ra, sẽ rất tuyệt nếu bạn cho ouptut từ lệnh cao nhất


1
rss không liên quan đến tải trung bình, bạn đang nói về cái gì?
Wouter Verhelst
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.