/ Proc / cpuinfo में प्रोसेसर की संख्या


26

जब मैं सीपीयू लोड के बारे में सीख रहा था, मुझे पता चला कि यह कोर की संख्या पर निर्भर करता है। यदि मेरे पास 2 कोर हैं तो लोड 2 100% सीपीयू उपयोग देगा।

तो मैं कोर पता लगाने के लिए कोशिश की। (मैं पहले से ही ऐसा 2 आभासी कोर कि प्रणाली 2 कोर, 4 धागे है पता प्रोसेसर के बारे में यहाँ देखें ) तो मैं भाग गया 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:

अब मैं पूरी तरह से भ्रमित हूँ। यह 2 सीपीयू कोर के साथ 4 प्रोसेसर दिखाता है। क्या कोई इस आउटपुट की व्याख्या कर सकता है?

एक बार मेरा सीपीयू लोड 3.70 था, क्या यह अधिकतम भार है? उस समय भी cpu <50% पर था।

टर्बो बूस्ट के बारे में क्या? क्या सभी कोर टर्बो बूस्टेड हैं या केवल शारीरिक हैं?

उबंटू में कोई भी विधि वर्तमान सीपीयू आवृत्ति प्राप्त करने के लिए यह देखने के लिए कि प्रोसेसर टर्बो बूस्ट पर है या नहीं?

लोड लगभग 100% तक 3.70 था। लेकिन IO प्रतिक्रिया समय के कारण CPU उपयोग 100% नहीं था। इसका मतलब यह नहीं है कि IO डिवाइस अधिकतम गति पर होगा, लेकिन io डिवाइस 100% व्यस्त होगा, जो कभी-कभी IO ex: म्यूज़िक को तोड़ सकता है।


2
हाइपर थ्रेडिंग है क्यों आप 2 के बजाय 4 देखते हैं
जुलाब

1
प्रलेखन और cpuinfo दोनों आपको बताते हैं कि आपके पास दो सीपीयू कोर हैं। प्रोसेसर 0 और 1 कोर 0 पर हैं जबकि प्रोसेसर 2 और 3 कोर 1 पर हैं (लाइन को देखें core id)। physical idआप चिप (मुझे लगता है) देता है। यहां, सभी प्रोसेसर के लिए यह 0 है, इसलिए आपके पास केवल एक चिप है।
५० पर

तो क्या प्रोसेसर लोड 100% है ... 2 या 4?
मधुरेंद्र सचान

यहाँ प्रोसेसर क्या है?
मधुरेंद्र सचान

कृपया ध्यान दें कि थ्रेड की इंटेल की परिभाषा ("ए थ्रेड, या निष्पादन का धागा, एक निर्देश के मूल क्रमबद्ध अनुक्रम के लिए एक सॉफ्टवेयर शब्द है, जिसे एक सीपीयू कोर द्वारा पारित या संसाधित किया जा सकता है") 2 कोर के साथ एक विचार कर सकता है और 4 धागे, जैसा कि ऐनक में कहा गया है, 2x4 = 8 धागे चल रहे हैं। वास्तव में आपके कुल 4 धागे हैं और 2 कोर दिखते हैं। इंटेल® हाइपर-थ्रेडिंग टेक्नोलॉजी की परिभाषा स्पष्ट है: यह " फिजिकल कोर प्रति दो प्रोसेसिंग थ्रेड्स " वितरित करता है और यह बेहतर बताता है कि आपका सिस्टम 4 प्रोसेसर / भाई-बहनों को देखता है। 2 सीपीयू कोर में एक चिप
लगाई गई

जवाबों:


35

"सीपीयू", "प्रोसेसर" और "कोर" शब्द कुछ भ्रामक तरीकों से उपयोग किए जाते हैं। वे प्रोसेसर वास्तुकला का उल्लेख करते हैं। एक कोर सबसे छोटी स्वतंत्र इकाई है जो एक सामान्य प्रयोजन प्रोसेसर को लागू करती है; एक प्रोसेसर कोर का एक संयोजन है (कुछ एआरएम सिस्टम पर, एक प्रोसेसर क्लस्टर का एक संयोजन है जो खुद कोर का संयोजन है)। एक चिप में एक या एक से अधिक प्रोसेसर हो सकते हैं (x86 चिप्स में एक प्रोसेसर होता है, शब्द प्रोसेसर के इस अर्थ में )।

हाइपरथ्रेडिंग का मतलब है कि एक कोर के कुछ हिस्सों की नकल की जाती है। हाइपरथ्रेडिंग वाला एक कोर कभी-कभी दो "वर्चुअल कोर" के संयोजन के रूप में प्रस्तुत किया जाता है - इसका अर्थ यह नहीं है कि प्रत्येक कोर आभासी है, लेकिन यह है कि बहुवचन आभासी है क्योंकि ये वास्तव में अलग-अलग कोर नहीं हैं और उन्हें कभी-कभी दूसरे कोर का इंतजार करना होगा। एक साझा हिस्से का उपयोग करना।

जहां तक ​​सॉफ्टवेयर का सवाल है, केवल एक ही अवधारणा है जो लगभग हर जगह उपयोगी है: निष्पादन के समानांतर धागे की धारणा। इसलिए अधिकांश सॉफ्टवेयर मैनुअल में, शब्द CPU और प्रोसेसर का उपयोग प्रोग्राम कोड निष्पादित करने वाले किसी भी एक हार्डवेयर के अर्थ के लिए किया जाता है। हार्डवेयर शब्दों में, इसका अर्थ है एक कोर, या हाइपरथ्रेडिंग वाला एक वर्चुअल कोर।

इस प्रकार topआपको 4 सीपीयू दिखाता है, क्योंकि आपके पास एक ही समय में 4 थ्रेड निष्पादित हो सकते हैं। /proc/cpuinfo4 प्रविष्टियां हैं, प्रत्येक सीपीयू के लिए (उस अर्थ में)। processorसंख्या (जो की संख्या रहे हैं में प्रविष्टियों ) इन 4 धागे के अनुरूप हैं।cpuNUMBER/sys/devices/system/cpu

/proc/cpuinfo उन कुछ स्थानों में से एक है जहाँ आपको जानकारी मिलती है कि निष्पादन के इन धागों में हार्डवेयर क्या लागू करता है:

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

इसका मतलब है कि cpu0भौतिक घटक (प्रोसेसर) नंबर 0 के अंदर 4 थ्रेड्स में से एक है, और इस प्रोसेसर में 2 के बीच कोर 0 में है।


अच्छा स्पष्टीकरण आपने 3 प्रश्न छोड़ दिए Once my cpu load was 3.70, Is this maximum load? Still at that time cpu was at <50%., What about turbo boost ? Are all cores are turbo boosted or only physical ?औरHow to check frequency.
मधुरेंद्र सचान

@MADTerry किस कार्यक्रम ने बताया कि "सीपीयू लोड 3.70" था, किस संदर्भ में वास्तव में? क्या आपका मतलब लोड औसत है? "सीपीयू <50%" पर आपका क्या मतलब है? टर्बो बूस्ट के बारे में, मैं उससे परिचित नहीं हूं, लेकिन मैं यह नहीं देखता कि वे सभी क्यों नहीं बढ़ेंगे। सभी कोर हैं , शारीरिक जब तक आप एक आभासी मशीन में चल रहा है: "आभासी कोर" में, के रूप में मैं अपने जवाब में स्पष्ट करते हैं, यह कोर कि आभासी हैं नहीं है, यह उनके अलगाव की है।
गिल्स एसओ- बुराई को रोकना '

औसत भार। uptime.by cpu का मतलब मैं cpu का उपयोग करता हूं। मुझे समझ में आया कि क्यों। लेकिन अगर सीपीयू टर्बो को बढ़ावा दिया जाता है तो आवृत्ति की जांच या जांच कैसे करें?
मधुरेंद्र सचान

मैं यह भी तर्क दूंगा कि, उच्च-स्तरीय सॉफ्टवेयर के मामले में, आप प्रक्रियाओं में रुचि रखते हैं (देखें top, uptime)। प्रक्रियाओं के साथ कौन सी हार्डवेयर इकाई अंतत: निम्न-स्तरीय सॉफ़्टवेयर (संकलन, ऑपरेटिंग सिस्टम) का मामला है। Cpuinfo रिपोर्ट सार को इस तथ्य से बाहर करती है कि प्रत्येक भौतिक प्रोसेसर (एक मरने पर कई सीपीयू में से एक) मल्टीट्रेडिंग जैसे तकनीकी करतबों द्वारा अपनी कंप्यूटिंग शक्तियों का विस्तार कर सकता है। यह 'कुछ भी' का संबंध रखेगा जो एक प्रोसेसर के रूप में एक समय में एक प्रक्रिया का ध्यान रख सकता है। Cpuinfo की लेखांकन आंख में, डिवाइस क्षमताएं "प्रोसेसर" की कुल संख्या तक ले जाती हैं
XavierStuvw

13

बस अपने पहले सवाल का जवाब दे रहा हूं। cat /proc/cpuinfoआप के उत्पादन में निम्नलिखित जानकारी देख सकते हैं: -

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

आप की गिनती देख सकते हैं siblings is 4और cpu cores is 2cpu coresजा रहा है कि प्रोसेसर में कोर की कुल संख्या है जिसे आपके द्वारा दिए गए इंटेल के URL में दिए गए चश्मे से जांचा जा सकता है। इसी प्रकार siblingsथ्रेड्स की संख्या से निर्धारित होता है जो इंटेल के एचटीटी द्वारा प्रदान किया जाता है।

इसी तरह, भौतिक आईडी के लिए 0जो इंगित करता है कि केवल एक प्रोसेसर चिप है और कोर आईडी के लिए आप देख सकते हैं 0 and 1कि प्रोसेसर में 2 कोर हैं।

अद्यतन: अन्य सवालों के जवाब जोड़ना।

टर्बो बूस्ट के बारे में क्या? क्या सभी कोर टर्बो बूस्टेड हैं या केवल शारीरिक हैं?

वैसे मैं कहूंगा, सभी सक्रिय कोर टर्बो-बूस्टेड हैं। अरे दोस्त, आपको हमारे प्रिय विकिपीडिया द्वारा उदाहरणों की जाँच करनी चाहिए । गणना के साथ समझाया गया।

Any method in ubuntu to get current cpu freq. if processor is on turbo boost or not.

टर्बो बढ़ावा या नहीं आप के उत्पादन में freq विवरण कर सकते हैं lscpu। और एक परिष्कृत उत्पादन के लिए: -

lscpu | grep Hz

संक्षिप्त और त्वरित उत्तर लेकिन क्या आप शेष 3 की व्याख्या कर सकते हैं?
मधुरेंद्र सचान

@MADTerry धन्यवाद, लेकिन अन्य मैं स्पष्ट नहीं हूं, कुछ शोध करूंगा और अपना उत्तर संपादित करूंगा। इस बीच अगर कोई और pops में देखते हैं।
शुरुआत जूल

1
lscpuकमांड के लिए +1 ।
अरदा

8

आप इसे टर्मिनल में आज़मा सकते हैं:

sudo lscpu

यह आपको आपके सीपीयू भौतिक विशेषता का अवलोकन देगा। टर्बो बूस्ट होने या न होने के लिए, यह शुद्ध रूप से OS की तुलना में हार्डवेयर नियंत्रण है, इसलिए जब तक कि इंटेल में लिनक्स के लिए एक विशिष्ट ड्राइवर नहीं है जो आपके प्रोसेसर की गति को ट्यून कर सकता है, टर्बो बूस्ट स्टेट की जांच करने के लिए कोई ठोस नेतृत्व नहीं है (जब तक कि एक कमांड कोड नहीं है यदि आपके प्रश्न के बारे में कोई सुराग है तो अन्य मंचों की जाँच करें)।

मेरे लिए, यह वही है जो मुझे मिलता है जब मैं उपरोक्त कमांड टाइप करता हूं। मेरे एएमडी ने कहा कि यह क्वाड कोर है, लेकिन यहां सूचीबद्ध मेरा भौतिक कोर केवल 2 है, प्रति कोर 2 धागे (4 कोर तक जोड़ता है)। मैं एएमडी ए 10 एपीयू प्रोसेसर 5750 मीटर का उपयोग कर रहा हूं।

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 19
Stepping:              1
CPU MHz:               2500.000
BogoMIPS:              4990.51
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3

0

सिस्टम लोड और सीपीयू% दो अलग-अलग तरीके हैं जो यह मापते हैं कि आपकी सीपीयू शक्ति का उपयोग कैसे किया जाता है।

  • सिस्टम लोड: cpu प्रति कितनी प्रक्रिया "तैयार" स्थिति में रही है - कुछ समय में औसत। 1 * cpu तक (आपके मामले में 4 तक) सिस्टम को लगभग निष्क्रिय माना जाता है (एक सुपरमार्केट के साथ तुलना करें जहां औसतन हर चेकआउट पर केवल एक ग्राहक इंतजार कर रहा है)। आप शायद 2 * cpu (आपके मामले में 8) तक किसी भी अंतराल को नोटिस नहीं करेंगे।
  • cpu%: cpus प्रक्रिया को चलाकर वास्तविक कार्य करने में कितना समय लगाता है। यह कैशियर के दृष्टिकोण की तरह है - या बल्कि उनके पर्यवेक्षक का - वे चाहते हैं कि वे हर समय व्यस्त रहें।

दोनों उपाय संबंधित हैं लेकिन किसी भी तरह से समान नहीं हैं।


मैंने अलग से नहीं पूछा। मैंने पहले ही इसे लेखों में पढ़ा। वैसे भी आपका जवाब गिल्ड जवाब देता है।
मधुरेंद्र सचान

आप एक विरोधाभास कहां देखते हैं?
गुनबर्ट रॉबर्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.