Tôi có CPU 1 lõi được cài đặt trên PC. Đôi khi, uptime
hiể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
Tôi có CPU 1 lõi được cài đặt trên PC. Đôi khi, uptime
hiể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
Câu trả lời:
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:
htop
tổng quan về "đồ họa" tốt đẹp.
uptime
hiển thị tải hệ thống (không chính xác sử dụng CPU), được mô tả man uptime
như 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.
Thời gian hoạt động cho thấy đầu ra của /proc/loadavg
tải.
Trang chủ của man 5 proc
nó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
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
load
khác vớiload 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.