সম্পূর্ণ ছবি আপনাকে সংখ্যা তাকান প্রয়োজন পেতে থ্রেড কোর প্রতি কোর সকেট এবং প্রতি সকেট । আপনি যদি এই সংখ্যাগুলি গুন করেন তবে আপনি আপনার সিস্টেমে সিপিইউ সংখ্যা পাবেন ।
সিপিইউস = প্রতি সকেট এক্স সকেট প্রতি কোর কোর প্রতি থ্রেড
আপনি যখন চালনা করেন তখন সিপিইউগুলি আপনি দেখতে পান htop(এগুলি শারীরিক সিপিইউগুলির সমান হয় না)।
এখানে একটি ডেস্কটপ মেশিনের উদাহরণ রয়েছে:
$ lscpu | grep -E '^Thread|^Core|^Socket|^CPU\('
CPU(s): 8
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
এবং একটি সার্ভার:
$ lscpu | grep -E '^Thread|^Core|^Socket|^CPU\('
CPU(s): 32
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
এর আউটপুট nprocসিপিইউ গণনার সাথে সম্পর্কিত lscpu। উপরের ডেস্কটপ মেশিনের জন্য এটি প্রতিবেদন করা 8 টি সিপিইউয়ের সাথে মেলে lscpu:
$ nproc --all
8
এর ফলাফলটি /proc/cpuinfoএই তথ্যের সাথে মিলে যাবে, উদাহরণস্বরূপ উপরের ডেস্কটপ সিস্টেমে আমরা দেখতে পাচ্ছি 8 টি প্রসেসর (সিপিইউ) এবং 4 টি কোর (কোর আইডি 0-3) রয়েছে:
$ grep -E 'processor|core id' /proc/cpuinfo
processor : 0
core id : 0
processor : 1
core id : 0
processor : 2
core id : 1
processor : 3
core id : 1
processor : 4
core id : 2
processor : 5
core id : 2
processor : 6
core id : 3
processor : 7
core id : 3
cpu coresদ্বারা রিপোর্ট /proc/cpuinfoসাথে সঙ্গতিপূর্ণ Core(s) per socketদ্বারা রিপোর্ট lscpu। উপরে ডেস্কটপ মেশিনের জন্য lscpu দ্বারা প্রতিবেদন করা সকেট প্রতি 4 টি কোর (গুলি) এর সাথে মেলে:
$ grep -m 1 'cpu cores' /proc/cpuinfo
cpu cores : 4
আপনার প্রশ্নের সুনির্দিষ্টভাবে উত্তর দেওয়ার জন্য আপনি আপনার সকেটের সংখ্যার সাহায্যে সকেট প্রতি কয়টি কোরের সংখ্যাটি গুণিয়ে আপনার কতটি কোর রয়েছে তা বলুন।
কোর = সকেট প্রতি সকেট কোর
উদাহরণস্বরূপ ডেস্কটপের উপরের সিস্টেমে 4 টি কোর রয়েছে:
$ echo "Cores = $(( $(lscpu | awk '/^Socket\(s\)/{ print $2 }') * $(lscpu | awk '/^Core\(s\) per socket/{ print $4 }') ))"
Cores = 4
সার্ভারটিতে 16 টি রয়েছে:
$ echo "Cores = $(( $(lscpu | awk '/^Socket\(s\)/{ print $2 }') * $(lscpu | awk '/^Core\(s\) per socket/{ print $4 }') ))"
Cores = 16
আরেকটি দরকারী ইউটিলিটি হ'ল dmidecodeযা প্রতি সকেটের তথ্যকে আউটপুট দেয়। উপরে তালিকাভুক্ত সার্ভার সিস্টেমের ক্ষেত্রে আমরা সকেট প্রতি 8 টি এবং সকেট প্রতি 16 টি থ্রেড দেখতে আশা করি:
$ sudo dmidecode -t 4 | grep -E 'Socket Designation|Count'
Socket Designation: CPU1
Core Count: 8
Thread Count: 16
Socket Designation: CPU2
Core Count: 8
Thread Count: 16
lscpuকমান্ড দরকারী অপশন আপনি চেক আউট করতে উদাহরণস্বরূপ পছন্দ করতে পারেন একটি নম্বর আছে:
$ lscpu --all --extended
$ lscpu --all --parse=CPU,SOCKET,CORE | grep -v '^#'
দেখুন man lscpuবিস্তারিত জানার জন্য।
সংক্ষেপে:
- আপনার সকেট, কোর এবং থ্রেড সম্পর্কে সচেতন হওয়া দরকার
- আপনাকে সিপিইউ শব্দটি সম্পর্কে সতর্ক হওয়া দরকার কারণ এর অর্থ বিভিন্ন প্রসঙ্গে বিভিন্ন জিনিস