/proc/cpuinfo 中的處理器數量
當我學習 CPU 負載時,我開始知道它取決於核心的數量。如果我有 2 個核心,那麼 load 2 將提供 100% 的 cpu 使用率。
所以我試圖找出核心。(我已經知道系統有 2 個核心,4 個執行緒,所以 2 個虛擬核心在這裡查看處理器)。所以我跑了
cat /proc/cpuinfo
這給了我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:
現在我完全糊塗了。它顯示了 4 個處理器,具有 2 個 cpu 核心。誰能解釋這個輸出?
一旦我的 cpu 負載為 3.70,這是最大負載嗎?那時cpu仍處於<50%。
渦輪增壓呢?所有核心都是渦輪增壓的還是只有物理的?
Ubuntu中的任何方法可以獲取目前的cpu頻率以查看處理器是否處於渦輪增壓狀態?
負載為 3.70 約 100%。但是由於 IO 響應時間,CPU 使用率不是 100%。這並不意味著 IO 設備將處於最大速度,但 io 設備將 100% 忙碌,這有時會影響使用 IO 的應用程序,例如:音樂可能會中斷。
“CPU”、“處理器”和“核心”這些詞的使用方式有些令人困惑。它們指的是處理器架構。核心是實現通用處理器的最小獨立單元;處理器是核心的組合(在某些 ARM 系統上,處理器是集群的組合,集群本身就是核心的組合)。一個晶片可以包含一個或多個處理器(x86 晶片包含一個處理器,在這個意義上的字處理器)。
超執行緒意味著核心的某些部分是重複的。具有超執行緒的核心有時表現為兩個“虛擬核心”的組合——這意味著不是每個核心都是虛擬的,而是複數是虛擬的,因為它們實際上並不是獨立的核心,有時它們必須等待另一個核心是利用共享部分。
就軟體而言,只有一個概念幾乎無處不在:並行執行執行緒的概念。因此,在大多數軟體手冊中,術語CPU和處理器用於表示任何一個執行程式碼的硬體。在硬體方面,這意味著一個核心或一個具有超執行緒的虛擬核心。
因此
top
顯示了 4 個 CPU,因為您可以同時執行 4 個執行緒。/proc/cpuinfo
有 4 個條目,每個 CPU 一個(在這個意義上)。processor
數字(即 中的條目數)對應於這 4 個執行緒。cpu*NUMBER*``/sys/devices/system/cpu
/proc/cpuinfo
是您獲得有關哪些硬體實現這些執行執行緒的資訊的少數幾個地方之一:physical id : 0 siblings : 4 core id : 0 cpu cores : 2
表示它
cpu0
是物理組件(處理器)編號 0 內的 4 個執行緒之一,並且在此處理器的 2 個中的核心 0 中。