GNU/Linux >> Belajar Linux >  >> Linux

Linux – Jumlah Prosesor di /proc/cpuinfo?

Ketika saya belajar tentang beban cpu, saya mengetahui bahwa itu tergantung pada jumlah core. Jika saya memiliki 2 core maka memuat 2 akan memberikan pemanfaatan cpu 100%.

Jadi saya mencoba mencari inti. (Saya sudah tahu bahwa sistem memiliki 2 inti, 4 utas jadi 2 inti virtual Periksa di sini tentang prosesor). Jadi saya menjalankan cat /proc/cpuinfo
Yang memberiku

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 1600.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 800.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

Sekarang saya benar-benar bingung. Ini menunjukkan 4 prosesor, dengan 2 core cpu.
Adakah yang bisa menjelaskan output ini?

Terkait:Linux – netfilter/iptables:mengapa tidak menggunakan tabel mentah?

Setelah beban cpu saya 3,70, Apakah ini beban maksimum? Masih pada waktu itu cpu berada di <50%.

Bagaimana dengan turbo boost? Apakah semua inti dilengkapi turbo boost atau hanya fisik?

Adakah metode di Ubuntu untuk mendapatkan frekuensi cpu saat ini untuk melihat apakah prosesornya menggunakan turbo boost atau tidak?

Beban adalah 3,70 sekitar 100%. Tetapi penggunaan CPU tidak 100% karena waktu respons IO. Ini tidak berarti bahwa perangkat IO akan berada pada kecepatan maksimum, tetapi perangkat io akan 100% sibuk, yang terkadang memengaruhi aplikasi yang menggunakan IO misalnya:musik dapat rusak.

Jawaban yang Diterima:

Kata-kata "CPU", "prosesor" dan "inti" digunakan dengan cara yang agak membingungkan. Mereka mengacu pada arsitektur prosesor. Inti adalah unit independen terkecil yang mengimplementasikan prosesor tujuan umum; prosesor adalah kumpulan core (pada beberapa sistem ARM, prosesor adalah kumpulan cluster yang merupakan kumpulan core). Sebuah chip dapat berisi satu atau lebih prosesor (chip x86 berisi satu prosesor, dalam arti kata prosesor ).

Hyperthreading berarti bahwa beberapa bagian dari inti diduplikasi. Sebuah inti dengan hyperthreading terkadang disajikan sebagai kumpulan dari dua "inti virtual" — artinya bukan bahwa setiap inti adalah virtual, tetapi jamaknya adalah virtual karena ini sebenarnya bukan inti yang terpisah dan terkadang harus menunggu sementara inti lainnya berada memanfaatkan bagian yang dibagikan.

Sejauh menyangkut perangkat lunak, hanya ada satu konsep yang berguna hampir di mana-mana:gagasan tentang eksekusi paralel. Jadi di sebagian besar manual perangkat lunak, istilah CPU dan prosesor digunakan untuk mengartikan salah satu bagian dari perangkat keras yang mengeksekusi kode program. Dalam istilah perangkat keras, ini berarti satu inti, atau satu inti virtual dengan hyperthreading.

Jadi top menunjukkan kepada Anda 4 CPU, karena Anda dapat menjalankan 4 utas secara bersamaan. /proc/cpuinfo memiliki 4 entri, satu untuk setiap CPU (dalam pengertian itu). processor nomor (yang merupakan nomor cpuNUMBER entri di /sys/devices/system/cpu ) sesuai dengan 4 utas ini.

/proc/cpuinfo adalah salah satu dari sedikit tempat di mana Anda mendapatkan informasi tentang perangkat keras apa yang mengimplementasikan rangkaian eksekusi ini:

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

artinya cpu0 adalah salah satu dari 4 utas di dalam komponen fisik (prosesor) nomor 0, dan itu ada di inti 0 di antara 2 di prosesor ini.


Linux
  1. Bagaimana cara mendapatkan jalur proses di Unix / Linux

  2. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?

  3. Bagaimana cara memeriksa apakah AES-NI didukung oleh CPU saya?

  1. Menjelajahi sistem file Linux /proc

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Linux – /proc/pid/fd/x Nomor Tautan?

  1. Linux – Apa Arti Bendera di /proc/cpuinfo?

  2. Linux – Menautkan /proc/mnt Ke /proc/mounts?

  3. Linux – Menggabungkan /usr/bin Dan /usr/sbin Ke /bin (gnu/linux)?