lệnh hàng đầu trên bộ xử lý đa lõi


46

Tôi đang sử dụng bộ xử lý IMX6 quad freescale. Tôi muốn biết nếu toplệnh liệt kê việc sử dụng CPU của cả 4 lõi hoặc của một lõi đơn. Tôi đang thấy việc sử dụng CPU của một ứng dụng là giống nhau với 4 lõi và với một lõi đơn. Tôi đã đoán ứng dụng CPU của ứng dụng sẽ tăng trên một lõi và giảm trên 4 lõi nhưng nó không thay đổi.


5
hãy thử nhấn 1 trong khi đầu đang chạy
Dani_l

Bạn có thể vui lòng giải thích. Như trong những gì xảy ra nếu tôi nhấn 1. Bởi vì tôi nhận được kết quả không nhất quán này kể từ 2 ngày.
dùng3818847

1
Ứng dụng nào vậy? Tại sao bạn nghĩ ứng dụng của bạn nên sử dụng nhiều lõi nếu có sẵn? Có rất nhiều ứng dụng hoạt động trên một CPU / lõi và không ai bận tâm dành thời gian để tương đương với chúng.
Anthon

2
Không. nếu nhiều lõi, chúng tích lũy đến hơn 100%. 4 lõi có thể đạt tới 800% với siêu phân luồng trên mỗi lõi
Dani_l

1
Tôi thích sử dụng htopcho việc này.
Richard

Câu trả lời:


67

Tôi không hoàn toàn chắc chắn những gì bạn đang hỏi ở đây. Có, tophiển thị mức sử dụng CPU theo tỷ lệ phần trăm của một CPU theo mặc định. Đó là lý do tại sao bạn có thể có tỷ lệ phần trăm> 100. Trên một hệ thống có 4 lõi, bạn có thể thấy mức sử dụng CPU lên tới 400%.

Bạn có thể thay đổi hành vi này bằng cách nhấn I(đó là Shift+ ivà bật "chế độ Irix") trong khi topđang chạy. Điều đó sẽ khiến nó hiển thị mức độ sử dụng năng lượng CPU có sẵn đang được sử dụng. Như đã giải thích trong man top:

    1. %CPU  --  CPU Usage
       The task's share of the elapsed CPU time since the last screen
       update, expressed as a percentage of total  CPU  time.   In  a
       true  SMP environment, if 'Irix mode' is Off, top will operate
       in 'Solaris mode' where a task's cpu usage will be divided  by
       the  total  number  of  CPUs.  You toggle 'Irix/Solaris' modes
       with the 'I' interactive command.

Ngoài ra, bạn có thể nhấn nút 1sẽ hiển thị cho bạn bảng phân tích mức sử dụng CPU trên mỗi CPU:

top - 13:12:58 up 21:11, 17 users,  load average: 0.69, 0.50, 0.43
Tasks: 248 total,   3 running, 244 sleeping,   0 stopped,   1 zombie
%Cpu0  : 33.3 us, 33.3 sy,  0.0 ni, 33.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  : 16.7 us,  0.0 sy,  0.0 ni, 83.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 60.0 us,  0.0 sy,  0.0 ni, 40.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:   8186416 total,  6267232 used,  1919184 free,   298832 buffers
KiB Swap:  8191996 total,        0 used,  8191996 free,  2833308 cached

1
với siêu phân luồng Tôi tin rằng bạn có thể thấy tới 800% vì / Proc / cpuinfo sẽ hiển thị mỗi luồng dưới dạng cpu
Dani_l

@Dani_l có, cho dù "lõi" là vật lý hay ảo là không liên quan, nó được coi là "CPU" top. Đầu ra tôi hiển thị là từ máy tính xách tay của tôi có một CPU vật lý duy nhất có hai lõi, mỗi lõi có lõi logic thứ 2. Kết quả là topnhìn thấy 4 lõi.
terdon

Xin lỗi vì nitpicking, trong dayjob của tôi, chúng ta phải phân biệt giữa các socket, lõi và luồng khi dự trữ tài nguyên. Tôi đoán thói quen bị mắc kẹt.
Dani_l

9

chỉ cần nhấp vào '1' trong khi đầu đang chạy


5
Câu trả lời này là trong các ý kiến ​​trong nhiều năm nay ... xin vui lòng thêm một cái gì đó mới.
yeti

0

Nếu bạn muốn mở topngay lập tức hiển thị các CPU riêng biệt mà không cần nhấn 1, bạn có thể sử dụng -1tùy chọn này.

ví dụ:

top -1

...
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  : 44.7 us, 55.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  : 46.7 us, 53.3 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
...     
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.