সম্পূর্ণ ছবি আপনাকে সংখ্যা তাকান প্রয়োজন পেতে থ্রেড কোর প্রতি কোর সকেট এবং প্রতি সকেট । আপনি যদি এই সংখ্যাগুলি গুন করেন তবে আপনি আপনার সিস্টেমে সিপিইউ সংখ্যা পাবেন ।
সিপিইউস = প্রতি সকেট এক্স সকেট প্রতি কোর কোর প্রতি থ্রেড
আপনি যখন চালনা করেন তখন সিপিইউগুলি আপনি দেখতে পান 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
বিস্তারিত জানার জন্য।
সংক্ষেপে:
- আপনার সকেট, কোর এবং থ্রেড সম্পর্কে সচেতন হওয়া দরকার
- আপনাকে সিপিইউ শব্দটি সম্পর্কে সতর্ক হওয়া দরকার কারণ এর অর্থ বিভিন্ন প্রসঙ্গে বিভিন্ন জিনিস