অদ্ভুত cpuinfo, এই কৌতুক cpu কত কোরে আছে?


3

এই পোস্টে আমার / proc / cpuinfo হয়।

আমি জানি দৈহিক সিপিইউ নম্বর ২

grep 'physical id' /proc/cpuinfo|sort|uniq|wc -l
2 

কিন্তু প্রতিটি cpu কত কোরে আছে?

'সিপিই কোর' দেখায় এটির 16 কোরি রয়েছে।

কিন্তু এই কমান্ডটি ব্যবহার করে দেখায় যে এটি মাত্র 8 টিরও বেশি।

grep 'core id' /proc/cpuinfo    
core id         : 16
core id         : 0
core id         : 17
core id         : 1
core id         : 25
core id         : 9
core id         : 26
core id         : 10

হাইপার-থ্রেডিং ব্যবহারকারী আর্কিটেকচারের জন্য একই শারীরিক CPU এ ভাইবোন CPU গুলি সংখ্যা প্রদর্শন করে। এটা আমার মেশিনে 16। কিন্তু শারীরিক 0 cpu জন্য 4, এবং শারীরিক 1 cpu উপর 4 আছে। আমি সত্যিই বিভ্রান্ত।

কেউ কি আমাকে সাহায্য করতে পারেন?

নীচে আমার / proc / cpuinfo হয়

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 1
siblings    : 16
core id     : 16
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
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 syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4803.77
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 0
siblings    : 16
core id     : 0
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
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 syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.22
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 1
siblings    : 16
core id     : 17
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
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 syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.13
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 0
siblings    : 16
core id     : 1
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
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 syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.21
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 4
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 1
siblings    : 16
core id     : 25
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
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 syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.14
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 5
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 0
siblings    : 16
core id     : 9
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
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 syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.19
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 6
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 1
siblings    : 16
core id     : 26
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
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 syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.13
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

processor   : 7
vendor_id   : GenuineIntel
cpu family  : 6
model       : 12
model name  : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping    : 2
cpu MHz     : 2400.191
cache size  : 256 KB
physical id : 0
siblings    : 16
core id     : 10
cpu cores   : 16
fpu     : yes
fpu_exception   : yes
cpuid level : 11
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 syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr
bogomips    : 4800.20
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

উত্তর:


8

Intels 'অনুযায়ী চশমা প্রসেসরের জন্য, এটি একটি চতুর্ভুজ কোর CPU (4 টি স্বতন্ত্র কোর), যা প্রতিটি হাইপারথ্রেডিং সক্ষম, যা এটি অক্টো কোর হিসাবে প্রদর্শিত হয়।

এটি একটি জিয়ন হিসাবে দেওয়া হয়েছে, আপনি খুব সহজে একটি দ্বৈত-সকেট মাদারবোর্ডটি ব্যবহার করতে পারেন যার মানে দুটি আলাদা চিপ রয়েছে, যার প্রতিটিটিতে 4 কোরে রয়েছে, প্রতিটিটি দুটি থ্রেড চালাতে পারে, তাই OS- র 16-কোর হিসাবে কার্যকরভাবে প্রদর্শিত হয় মেশিন।


হ্যাঁ এই কাজ করবে। 2 CPU গুলি, 4 কোর প্রতিটি। হাইপারথ্রেডিং এটি হিসাবে প্রতিটি কোর দুই হিসাবে গণ্য করে তোলে, তাই 2 * 4 * 2 = 16 প্রসেসর।
aqua

@ ওউকা কি 'সিপিই কোর' মানে? এটা কি শারীরিক কোর বা যৌক্তিক কোর? আমি মনে করি সিপিইউ কোর মানে একটি সিপিইউ সকেটে কতগুলি শারীরিক কোর? আর ভাইবোনদের অর্থ কী?

@xiaoming: এই দিনটিকে হাইপারথ্রেডিং এবং কিটোর দ্বারা আলাদা করা হয়েছে। আপনি যে বিপণন ব্যক্তিদের সাথে কথা বলছেন তার উপর নির্ভর করে এবং সেইসাথে লোকেদের লাইসেন্স দেওয়ার উপর নির্ভর করে। অ্যারাকাল মত কেউ আপনার মেশিন একটি 16core ডিভাইস হিসাবে গণনা করা হবে এবং আপনি অ্যারাকাল জন্য 16 লাইসেন্স কিনতে বাধ্য। অন্যরা শুধুমাত্র ২ টি লাইসেন্সের প্রয়োজন হতে পারে কারণ এটি আপনার মেশিনের কতগুলি সকেট আছে।

@ মার্ক বি কিভাবে আমি জানতে পারি প্রতিটি সিপিইউ 4 কোরে? আমি কোন পরামিতি ব্যবহার করা উচিত? অনেকগুলি নথিতে তারা হাইট 'সিপিই কোর' বলে থাকে যা শারীরিক সিপিইউর কোর

3

এখানে একটি ফাংশন যা আমি CPU তথ্য চেক করার জন্য ব্যবহার করি।

function CORES(){

  local -i SOCKETS=$(grep -w "physical id" /proc/cpuinfo | sort -u | wc -l)
  [ "${SOCKETS}" -eq 0 ] && SOCKETS="1"
  local -i CORES=$(grep -w "core id" /proc/cpuinfo | sort -u | wc -l)
  [ "${CORES}" -eq 0 ] && CORES="1"
  local -r MODEL=$(grep -w "model name" /proc/cpuinfo | sort -u | awk -F:     '{print $2}')
  local -ir THREADS=$(grep -w "processor" /proc/cpuinfo | sort -u | wc -l)
  local -ir TOTAL_CORES=$(echo $((${SOCKETS}*${CORES})))
  local -ir THREADS_PER_CORE=$(echo $((${THREADS}/${TOTAL_CORES})))

  echo -e "ModelName\t: " $MODEL
  echo -e "Sockets\t\t: " $SOCKETS
  echo -e "Cores/Socket\t: " $CORES
  echo -e "Threads/Core\t: " $THREADS_PER_CORE
  echo -e "TotalCores\t: " $TOTAL_CORES
  echo -e "TotalThreads\t: " $THREADS

}

এই তিনটি প্রধান উপাদান আছে:

  1. দৈহিক CPU গুলি সংখ্যা ( 'physical id' )
  2. দৈহিক CPU- র প্রতি Cores মোট সংখ্যা ( 'core id' )
  3. প্রকৃত CPU প্রতি প্রতি কোর থ্রেডের মোট সংখ্যা ( 'processor' )

দ্য 'model name' শুধু তথ্যের উদ্দেশ্যে ...

এটি দিয়ে শুধুমাত্র বাগ যদি হয় 'physical id' / proc / cpuinfo তে বিদ্যমান নেই, তবে এটি এই ত্রুটিটি ছুঁড়ে ফেলে (যা আমি এখনও ঠিক করতে পারিনি ...):

$ CORES
-bash: 2/0: division by 0 (error token is "0")
ModelName       :  Intel(R) Xeon(R) CPU X5560 @ 2.80GHz
Sockets         :  0
Cores/Socket    :  0
Threads/Core    :  0
TotalCores      :  0
TotalThreads    :  2

সম্পাদনা: নির্দিষ্ট।

আশা করি এইটি কাজ করবে!

সম্পাদনা করুন: এখানে যে একটি উদাহরণ আছে 'physical id' উপস্থাপন:

ModelName       :  Intel(R) Xeon(R) CPU X3470 @ 2.93GHz
Sockets         :  2
Cores/Socket    :  1
Threads/Core    :  1
TotalCores      :  2
TotalThreads    :  2

এবং অন্য

ModelName       :  Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
Sockets         :  2
Cores/Socket    :  2
Threads/Core    :  1
TotalCores      :  4
TotalThreads    :  4

সম্পাদনা 2: একটি বড় এক!

ModelName       :  Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
Sockets         :  2
Cores/Socket    :  6
Threads/Core    :  2
TotalCores      :  12
TotalThreads    :  24

সম্পাদনা করুন: OP এর / proc / cpuinfo ফলাফল

$ CORES
ModelName       :  Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
Sockets         :  2
Cores/Socket    :  8
Threads/Core    :  0
TotalCores      :  16
TotalThreads    :  8

এটি আপনাকে হাইপার থ্রেডিং কোথাও (সম্ভবত বায়োসে) অক্ষম করা হয়েছে তা নির্দেশ করে, যার জন্য আপনার প্রতি কোর 0 টি থ্রেড রয়েছে। এই ক্ষেত্রে TotalThreads = কর / সকেট। এর অর্থ হল আপনার 8 গিগাবাইট সকেট যা হাইপার থ্রেড নয়।


আপনার আউটপুট ভুল ... X3470 , E5520 এবং E5620 এইচটি সঙ্গে সব 4x কোর হয়
Attie

@Attie আসলে তারা কিছু সার্ভারে আমরা এইচটি অক্ষম (বিক্রেতার প্রয়োজন অনুসারে) না। আমি অনুমান করা উচিত যে আমি: পি
Hickory420

কিন্তু (উদাহরণস্বরূপ), আপনার আউটপুটটি E5520 কে হাইপারথ্রেডিং ছাড়াই ২ কোর হিসাবে তালিকাভুক্ত করে ... যদি না আপনি হাইপারথ্রেডিং নিষ্ক্রিয় করেন এবং নিষ্ক্রিয় দুই কোর, যে ভুল।
Attie

হুম ... আপনি একটি বৈধ পয়েন্ট বাড়াতে। দুর্ভাগ্যক্রমে, আমার আর এই সার্ভারগুলিতে অ্যাক্সেস নেই, তাই আমি নিশ্চিত করতে পারছি না। যদি আপনার কিছু সার্ভারের অ্যাক্সেস থাকে (অথবা এমনকি আপনার নিজস্ব পিসি), ফাংশনটি চালান এবং আউটপুট নিশ্চিত করুন। যদি আমি পোস্ট করা ফাংশন সঠিকভাবে গণনা গণনা করা হয় না, আমি যে ঠিক করতে চাই। বলা হচ্ছে, এটি সম্ভব যে থ্রেড + কোর E5520 এ নিষ্ক্রিয় করা হয়েছে। বিক্রেতার ব্যাপারটি ছিল (যে) খুব চকচকে ... চিয়ার্স।
Hickory420

2

এটা আমার মত মনে হয় /proc/cpuinfo শুধুমাত্র আপনার প্রকৃত শারীরিক CPU কনফিগারেশন অংশ দেখাচ্ছে।

কিছু ক্ষেত্র নির্দেশ করতে পারে যে আপনার সিস্টেমে 2 টি CPU সকেট আছে, যার প্রতিটি 16 টি শারীরিক কোর রয়েছে:

  • physical id 0 থেকে 1 পর্যন্ত যায়, তাই 2 CPU সকেট থাকবে
  • siblings আপনি সিপিএস সকেট প্রতি 16 লজিক্যাল কোর আছে বলে
  • cpu cores এছাড়াও 16, যা আমি নির্দিষ্ট CPU- র জন্য প্রকৃত কোরের সংখ্যা হিসাবে ব্যাখ্যা করি physical id। এই মুহুর্তে, আমি বলব যে সিপিপি হাইপার থ্রেডিং সমর্থন করে না, কিন্তু ...

অনুসারে ইন্টেল ই 5620 চিপ এর স্পিকার , প্রতিটি চিপ 4 শারীরিক কোর আছে, যার প্রতিটি 2 লজিক্যাল কোর ধন্যবাদ HyperThreading ধন্যবাদ।

এটি আমাকে এই উপসংহারে নিয়ে আসে যে, আপনার অপারেটিং সিস্টেমের দৃষ্টিকোণ থেকে, আপনার কেবল CPU রিসোর্সগুলির আংশিক অ্যাক্সেস রয়েছে। আমি আপনাকে একটি ভার্চুয়ালাইজড পরিবেশ থেকে চলমান পরামর্শ হবে।

আসুন আমার নিচে দেখুন /proc/cpuinfo দুই-CPU এ হোস্ট করা একটি ভার্চুয়াল মেশিনে ইন্টেল E5430 ভিত্তিক সার্ভার (2 CPU সকেট, 4 শারীরিক কোর, কোন হাইপারথ্রেডিং)। অপারেটিং সিস্টেম কেবল CPU # 0 থেকে কোর # 0 এবং CPU # 1 থেকে কোর # 0 দেখায়।

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Xeon(R) CPU           E5430  @ 2.66GHz
stepping    : 10
cpu MHz     : 2659.998
cache size  : 6144 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 4
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 mtrr pge mca cmov pat pse36 clflush dts     acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
bogomips    : 5319.99
clflush size    : 64
cache_alignment : 64
address sizes   : 38 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Xeon(R) CPU           E5430  @ 2.66GHz
stepping    : 10
cpu MHz     : 2659.998
cache size  : 6144 KB
physical id : 1
siblings    : 4
core id     : 0
cpu cores   : 4
apicid      : 4
initial apicid  : 4
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
bogomips    : 5319.78
clflush size    : 64
cache_alignment : 64
address sizes   : 38 bits physical, 48 bits virtual
power management:

1

আপনি / proc / cpuinfo পার্স করতে পারেন তাই এটি আরও দরকারী:

paste <(cat /proc/cpuinfo | grep "core id") <(cat /proc/cpuinfo | grep "processor") | sed 's/[[:blank:]]/ /g'

আমার মেশিনে আমি দেখি: core id : 0 processor : 0 core id : 1 processor : 1 core id : 2 processor : 2 core id : 3 processor : 3 core id : 0 processor : 4 core id : 1 processor : 5 core id : 2 processor : 6 core id : 3 processor : 7

সুতরাং দুই থ্রেড সঙ্গে 4 কোরে প্রতিটি


অন্তর্ভুক্ত করা cat /proc/cpuinfo | grep "physical id" মাল্টি সকেট সিস্টেমের জন্য
Attie

1

"কোর আইডি" অগত্যা অনুক্রমিক নয়। এখানে একটি ডুয়াল সকেট 1২-কোর থেকে থ্রেডিং (তাই 48 "কোর") G5118 থেকে একটি grep হয়। অনুপস্থিত কোর আইডগুলি লক্ষ্য করুন:

[qqs43472@cs05r-sc-serv-01 ~]$ cat /proc/cpuinfo  | grep "core id"
core id     : 0
core id     : 1
core id     : 2
core id     : 3
core id     : 4
core id     : 5
core id     : 8
core id     : 9
core id     : 10
core id     : 11
core id     : 12
core id     : 13
core id     : 0
core id     : 1
core id     : 2
core id     : 3
core id     : 4
core id     : 5
core id     : 8
core id     : 9
core id     : 10
core id     : 11
core id     : 12
core id     : 13
core id     : 0
core id     : 1
core id     : 2
core id     : 3
core id     : 4
core id     : 5
core id     : 8
core id     : 9
core id     : 10
core id     : 11
core id     : 12
core id     : 13
core id     : 0
core id     : 1
core id     : 2
core id     : 3
core id     : 4
core id     : 5
core id     : 8
core id     : 9
core id     : 10
core id     : 11
core id     : 12
core id     : 13

প্রশ্ন কোড আইডি ক্রমবর্ধমান হয় তা স্পষ্ট করে তোলে। আপনি কিভাবে আপনার পোস্টে প্রসারিত করতে পারেন উত্তর প্রশ্ন, এবং এটি কি অবদান রাখে যা অন্য উত্তরগুলিতে ইতিমধ্যেই বলা হয়নি? Pleasedonot মন্তব্য প্রতিক্রিয়া; সম্পাদন করা আপনার উত্তর এটি clearer এবং আরো সম্পূর্ণ টোকা।
Scott

0

এটি হাইপারথ্রেডিং যা একটি একক কোরকে সমান্তরালে আরও কম বা দুটি কম থ্রেড চালাতে দেয়। প্রতিটি থ্রেড ব্যবহার করা হয় নির্দেশাবলীর উপর বা কম নির্ভর করে।


কিভাবে আমি একটি শারীরিক cpu কত কোরে জানতে পারে?

গুগল এই নামটি মডেল নামটি ই 5620।
Brian
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.