คำสั่งด้านบนของโปรเซสเซอร์แบบมัลติคอร์


45

ฉันใช้หน่วยประมวลผล Quad freescale IMX6 ฉันต้องการทราบว่าtopคำสั่งแสดงรายการการใช้งาน CPU ของทั้ง 4 คอร์หรือแกนเดียว ฉันเห็นการใช้งาน CPU ของแอปพลิเคชันเหมือนกันกับ 4 คอร์และมีแกนเดียว ฉันเดาว่าการใช้งาน CPU โดยแอปพลิเคชันจะเพิ่มขึ้นในแกนเดียวและลดลงใน 4 คอร์ แต่ก็ไม่ได้เปลี่ยน


5
ลองกด 1 ในขณะที่ด้านบนกำลังทำงานอยู่
Dani_l

คุณช่วยอธิบายได้ไหม อย่างที่เกิดขึ้นถ้าฉันกด 1 เพราะฉันได้รับผลลัพธ์ที่ไม่สอดคล้องกันนี้ตั้งแต่ 2 วัน
user3818847

1
แอปพลิเคชันใดที่ เหตุใดคุณคิดว่าแอปพลิเคชันของคุณควรใช้หลายคอร์หากมี มีแอปพลิเคชั่นมากมายที่ทำงานบนซีพียู / คอร์เดียวและไม่มีใครใส่ใจที่จะใช้เวลาในการเทียบเคียง
Anthon

2
ไม่ ถ้าหลายแกนมันจะสะสมมากกว่า 100% 4 คอร์สามารถรับสูงถึง 800% โดยมีไฮเปอร์เธรดในแต่ละแกน
Dani_l

1
ฉันชอบที่จะใช้htopสำหรับสิ่งนี้
ริชาร์ด

คำตอบ:


66

ฉันไม่แน่ใจทั้งหมดที่คุณถามที่นี่ ใช่topแสดงการใช้งาน CPU เป็นเปอร์เซ็นต์ของ CPU เดียวโดยค่าเริ่มต้น นั่นเป็นสาเหตุที่คุณสามารถมีเปอร์เซ็นต์ได้> 100 บนระบบที่มี 4 คอร์คุณสามารถดูการใช้งาน CPU ได้สูงสุด 400%

คุณสามารถเปลี่ยนพฤติกรรมนี้ได้โดยการกดI( Shift+ iและสลับ "โหมด Irix") ในขณะที่topทำงาน ที่จะทำให้มันแสดง pecentage ของพลังงาน CPU ที่มีอยู่ถูกใช้ ตามที่อธิบายไว้ใน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.

หรือคุณสามารถกด1ซึ่งจะแสดงรายละเอียดการใช้งาน CPU ต่อ 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
ด้วย hyperthread ฉันเชื่อว่าคุณจะเห็นมากถึง 800% ในขณะที่ / proc / cpuinfo จะแสดงแต่ละเธรดในรูปของซีพียู
Dani_l

@Dani_l ใช่ไม่ว่าจะเป็น "แก่น" เป็นจริงหรือเสมือนเป็นที่ไม่เกี่ยวข้องก็จะถือว่าเป็น "ซีพียู" topโดย เอาท์พุทที่ฉันแสดงมาจากแล็ปท็อปของฉันซึ่งมี CPU แบบฟิสิคัลเดียวที่มีสองคอร์โดยที่แต่ละแกนมีตรรกะที่สอง ผลลัพธ์คือtopเห็นแกน 4 แกน
terdon

ขออภัยสำหรับ nitpicking ใน dayjob ของฉันเราต้องแยกแยะระหว่างซ็อกเก็ตแกนและเธรดเมื่อทำการสำรองทรัพยากร ฉันคิดว่านิสัยติดอยู่
Dani_l

9

เพียงคลิกที่ '1' ในขณะที่ด้านบนกำลังทำงาน


5
คำตอบนี้อยู่ในความคิดเห็นเป็นเวลาหลายปีในขณะนี้ ... โปรดเพิ่มสิ่งใหม่
yeti

0

หากคุณต้องการเปิดการtopแสดงซีพียูแยกทันทีโดยไม่จำเป็นต้องกด1คุณสามารถใช้-1ตัวเลือก

เช่น:

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
...     
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.