Tải hệ thống là gì?


13

Trong công việc của tôi, chúng tôi có một kho lưu trữ dữ liệu chạy Ubuntu 12.04.03 CLI và khi tôi kiểm tra chúng sáng nay khi tôi đăng nhập thay vì cung cấp cho tôi thông tin bình thường thì thông báo không thể hiển thị vì tải hệ thống cao hơn 2 và Tôi đã tự hỏi điều này có nghĩa là gì? Tôi vừa mới khởi động lại nó vì nó không phản hồi, liệu nó có liên quan gì đến quá trình khởi động và khiến mọi thứ diễn ra không?

Câu trả lời:


17

Chạy các lệnh tophoặc uptime:

$ uptime
 19:36:03 up 5 days,  9:12,  8 users,  load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days,  9:13,  8 users,  load average: 0.05, 0.16, 0.21

Trung bình tải được nêu ở đây là :

/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.  They
          are the same as the load average numbers given by uptime(1)  and
          other  programs. 

Xem xét mức trung bình tải của tôi: 0.05, 0.16, 0.21
Điều đó có nghĩa là, trong phút cuối, trung bình 0,05 quy trình đã chờ tài nguyên.

Bạn có nên lo lắng rằng trung bình tải là 2? Nói chung, nếu trung bình tải lớn hơn số lượng CPU có sẵn, thì một số quy trình phải nhàn rỗi chờ đợi một khe CPU.

Nếu trung bình tải nhỏ hơn đầu ra nproc, bạn không cần phải lo lắng.

Xem thêm: Trung bình tải có nghĩa là gì trong unix / linux? Như Braiam lưu ý, các quy trình không chỉ cần chờ CPU: Hiểu trung bình tải so với sử dụng cpu


Điều đó rất hữu ích nhưng ngay sau khi khởi động lại, nó có nên chạy nóng đến mức chúng ta chưa từng thấy điều này trước đây không? Nó đang chạy AMD Athlon (tm) 64 X2 Bộ xử lý lõi kép 4200+ và không chạy bất kỳ đồ họa hoặc quy trình bổ sung nào.
Sean G

@SeanG nó có thể, tùy thuộc vào những gì nó chạy. Nó có thể là một sự kiện một lần. Nếu điều này xảy ra lặp đi lặp lại, hãy sử dụng một cái gì đó như bootchart để xem những gì đang xảy ra khi khởi động duirng.
muru

"Điều đó có nghĩa là, trong phút cuối, trung bình, quá trình 0,05 đã chờ CPU." Trên thực tế, điều này là không đầy đủ, tài nguyên có thể là bất kỳ phần cứng nào , không chỉ CPU. Nó có thể là đĩa, mạng, GPU, v.v.
Braiam

@Braiam đúng (Tôi đã tuyên bố quá đơn giản). Tôi đã đi qua q này trong khi Googling loadavg, nhưng không nghĩ sẽ bao gồm nó.
muru

Ngay sau khi khởi động lại, mức trung bình tải thực sự có thể cao vì hệ thống vừa trải qua chuỗi init chuyên sâu. Như đã giải thích trong câu trả lời, phải mất vài phút để các con số giảm xuống mức bình thường. Việc làm quá hạn anacron có thể kéo dài thời gian.
Emil Jeřábek hỗ trợ Monica

7

Tải hệ thống hoặc Trung bình tải hệ thống

Đó là run-queue, tức là một hàng các quá trình đang chờ một tài nguyên (cpu, i / o, v.v.) trở nên khả dụng.

Hãy coi một lõi đơn cpulà một làn đường giao thông duy nhất có cầu và xử lý như ô tô.

Bây giờ trong tình huống này Tải hệ thống là

  • 0,0 - Nếu không có giao thông trên đường.
  • 1.0 -Nếu lưu lượng trên đường chính xác là sức chứa của cầu.
  • Hơn 1 - Nếu lưu lượng trên đường cao hơn khả năng của cầu và ô tô phải chờ để đi qua máng cầu.

Con số này không được chuẩn hóa theo của bạn cpu. Trong hệ thống Đa xử lý, tải 2 có nghĩa là sử dụng 100% chúng tôi đang sử dụng bộ xử lý lõi kép, tải 4 có nghĩa là sử dụng 100% nếu chúng tôi đang sử dụng lõi tứ.

Bạn có thể tải hệ thống của mình bằng cách sử dụng

  • uptime
  • cat /proc/loadavg
  • top

    $ thời gian hoạt động 22:49:47 lên 11:47, 4 người dùng, tải trung bình: 2.20, 1.03, 0.82

Ở đây ba số cuối biểu thị trung bình tải hệ thống trong 1, 5 và 15 phút tương ứng.

Ví dụ trên chỉ ra rằng trung bình có 2,20 quy trình đang chờ được lên lịch trên hàng đợi chạy được đo trong phút cuối.


Điều này không giải thích trung bình tải là gì.
Braiam

thêm nó vào câu trả lời
g_p

2

Tải hệ thống phù hợp với số lượng lõi CPU, ví dụ: nếu bạn có CPU Quad Cores (4 lõi), giá trị 1 có nghĩa là tải hệ thống ở mức 25% và 4 có nghĩa là 100%.


Điều này không giải thích trung bình tải là gì và sai về mối quan hệ giữa thời gian cpu% và trung bình tải.
Braiam

0

Nếu bạn nhập thời gian hoạt động của thiết bị đầu cuối, bạn sẽ thấy một cái gì đó như: tải trung bình và ba cột chữ số được tải từ một, năm và mười lăm phút. Nếu bạn có procesor lõi kép 2 có nghĩa là sử dụng 100%, 1 có nghĩa là 50%, v.v.


Điều này không giải thích trung bình tải là gì và sai về mối quan hệ giữa thời gian cpu% và trung bình tải.
Braiam

1
Có nó làm. Từ hướng dẫn sử dụng thời gian hoạt động: tải trung bình là 1 có nghĩa là một hệ thống CPU duy nhất được tải mọi lúc trong khi trên hệ thống 4 CPU, điều đó có nghĩa là nó không hoạt động 75% thời gian.
EdiD

Không có mối quan hệ giữa tải CPU và tải trung bình. Kiểm tra lại.
Braiam

0

Tải hệ thống 2.0 không cao lắm. Trên hệ thống đa lõi, CPU của bạn thậm chí có thể không hoạt động.

Trung bình tải là thước đo mức độ quá tải của lõi CPU về số lượng quá trình muốn sử dụng nó cùng một lúc.

Sau đây giả sử CPU lõi đơn (luồng đơn):

  • 0,0

    CPU không làm gì cả. Nếu một quá trình bắt đầu sử dụng CPU thì đó sẽ là người duy nhất sử dụng nó.

  • 1

    CPU được sử dụng tối đa, nhưng không có sự tranh chấp giữa các quá trình sử dụng CPU. Đó là, chỉ có một tiến trình duy nhất đang chạy để nó có thể yêu cầu 100% thời gian của CPU cho chính nó. Ngoài ra, nhiều quy trình đang chạy nhưng không có quy trình nào yêu cầu CPU 100% và việc sử dụng CPU kết hợp của chúng tăng thêm 100%. Tất cả chúng vẫn chạy nhanh như chúng sẽ chạy ngay cả khi chúng có CPU hoàn toàn cho riêng mình.

  • Lớn hơn 1

    CPU được sử dụng tối đa và có nhiều quá trình muốn sử dụng đồng thời để chúng chạy chậm hơn so với khả năng chúng có thể chạy nếu chúng sử dụng độc quyền CPU. Ví dụ: trung bình tải 3.0 cho biết các quá trình đang chạy ở một phần ba tốc độ mà chúng muốn chạy. Trung bình tải là 50.0 cho biết các quy trình đang chạy ở tốc độ 1/50 tốc độ mà chúng muốn chạy, do tất cả các quy trình khác đang chạy. Nghĩa là, các số liệu cao hơn 1.0 chỉ ra rằng CPU có sẵn đang được phân chia giữa các quy trình hoạt động nhiều hơn và nhiều hơn.

Có CPU nhiều lõi không thay đổi ý nghĩa của các số liệu nhưng thay đổi cách hiểu chúng. Ví dụ: nếu bạn có CPU 4 lõi, thì tải 1.0 vẫn tương đương với một quá trình sử dụng CPU 100% trên một lõi, nhưng có ba lõi khác. Vì vậy, trên CPU 4 lõi, điểm hiệu quả tối đa là 4.0, không phải 1.0 - và điểm mà mọi thứ đang chạy ở hiệu suất 1/3 là 12.0, không phải 3.0. Để thêm vào sự phức tạp, một quy trình có thể có nhiều hơn một luồng cho mỗi CPU của chính nó. Vì vậy, một quy trình có thể sử dụng 100% của cả 4 lõi nếu đó là đa luồng.

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.