perintah teratas pada prosesor multi-core

46

Saya menggunakan prosesor quad IMX6 freescale. Saya ingin tahu apakah topperintah tersebut mencantumkan penggunaan CPU dari semua 4 core atau dari satu core. Saya melihat penggunaan CPU aplikasi sama dengan 4 core dan dengan single core. Saya menduga penggunaan CPU oleh aplikasi akan meningkat pada satu inti dan berkurang pada 4 core tetapi tidak berubah.

pengguna3818847
sumber
5
coba tekan 1 saat top sedang berjalan
Dani_l
Bisakah Anda jelaskan. Seperti pada apa yang terjadi jika saya menekan 1. Karena saya mendapatkan hasil yang tidak konsisten ini sejak 2 hari.
user3818847
1
Aplikasi apa itu? Menurut Anda mengapa aplikasi Anda harus menggunakan banyak core jika tersedia? Ada banyak aplikasi di luar sana yang bekerja pada satu CPU / core dan yang tidak ada yang mau meluangkan waktu untuk melumpuhkan mereka.
Anthon
2
tidak. jika beberapa core, mereka terakumulasi hingga lebih dari 100%. 4 core bisa mencapai setinggi 800% dengan hyperthreading pada setiap core
Dani_l
1
Saya suka menggunakannya htopuntuk ini.
Richard

Jawaban:

67

Saya tidak sepenuhnya yakin apa yang Anda tanyakan di sini. Ya, topmenunjukkan penggunaan CPU sebagai persentase dari satu CPU secara default. Itu sebabnya Anda dapat memiliki persentase yang> 100. Pada sistem dengan 4 core, Anda dapat melihat penggunaan CPU hingga 400%.

Anda dapat mengubah perilaku ini dengan menekan I(itu Shift+ idan matikan "mode Irix") saat topsedang berjalan. Itu akan menyebabkannya menunjukkan persentase daya CPU yang tersedia digunakan. Sebagaimana dijelaskan dalam 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.

Atau, Anda dapat menekan 1yang akan menunjukkan gangguan penggunaan CPU per 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
terdon
sumber
1
dengan hyperthread Saya yakin Anda dapat melihat hingga 800% karena / proc / cpuinfo akan menampilkan setiap utas sebagai cpu
Dani_l
@ Dani_l ya, apakah "inti" itu fisik atau virtual tidak relevan, itu diperlakukan sebagai "CPU" oleh top. Output yang saya tunjukkan adalah dari laptop saya yang memiliki CPU fisik tunggal dengan dua core, yang masing-masing memiliki core logis kedua. Hasilnya adalah yang topmelihat 4 core.
terdon
Maaf untuk nitpicking, dalam tugas saya, kita harus membedakan antara soket, inti dan utas saat memesan sumber daya. Saya kira kebiasaan itu macet.
Dani_l
9

klik saja '1' saat top sedang berjalan

Abdullah
sumber
5
Jawaban ini ada di komentar selama bertahun-tahun sekarang ... tolong tambahkan sesuatu yang baru.
yeti
0

Jika Anda ingin membuka topsegera menampilkan CPU terpisah tanpa perlu menekan 1, Anda dapat menggunakan -1opsi.

misalnya:

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
...     
Leigh McCulloch
sumber