আমি কীভাবে পরীক্ষা করতে পারি যদি উবুন্টু হাইপারথ্রেডিং সক্রিয় করে?


13

আমার অনুভূতি আছে যে হাইপারথ্রেডিং আমার পিসিতে সক্রিয় নয়। আমি একবার খতিয়ে দেখলাম /proc/cpuinfoএবং সেখানে বর্ণিত আছে যে সিপু কোরের তুলনায় ভাইবোনদের একই সংখ্যা রয়েছে। এর অর্থ হাইপারথ্রেডিং সক্রিয় নয়। আমি কীভাবে এটি সক্রিয় করতে পারি?

পার্ট এন্ট্রি /proc/cpuinfo:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz
stepping    : 6
cpu MHz     : 2997.000
cache size  : 6144 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 10
wp      : yes

উত্তর:


15

/ সিস / বাস / সিপিইউ / ডিভাইসস / সিপিইউ * / টপোলজি / থ্রেড_সিলিংস_লিস্ট কোর এবং হাইপারথ্রেডগুলির বিন্যাস দেখায়। ভিজ্যুয়ালাইজ করা সহজ করার জন্য, আমি lstopo কমান্ডটি ব্যবহার করে সুপারিশ করব:

sudo apt-get install hwloc

এবং সাথে চালান:

lstopo

আমার আইভিব্রিজ ডেস্কটপে 4 সিপিইউ রয়েছে; প্রত্যেকের হাইপারথ্রেড থাকে, তাই আমরা কোর পি # 0..3 দিয়ে একটি ডায়াগ্রাম পাই এবং প্রত্যেকের দুটি পিইউ থাকে (যার মধ্যে একটি হাইপারথ্রেড):

এখানে চিত্র বর্ণনা লিখুন

আপনি যদি এই আউটপুটটির কেবল একটি পাঠ্য সংস্করণ চান তবে ব্যবহার করুন:

lstopo -

এখনও কেউ কেন এটিকে আপত্তি জানায়নি তা নিশ্চিত নয় ... এটি সত্যিই দুর্দান্ত ইউটিলিটি।
হকের বেনেট

এটা দুর্দান্ত। আপনি 1 টি ছবিতে মোট ক্যাশে, কোর, হাইপারথ্রেডগুলি দেখুন
সিলভার মুন

9

topএকটি টার্মিনালে চালান , 1শিরোনামে সিপিইউ প্রতি লোড দেখানোর জন্য আপনার কীবোর্ডে নম্বর টিপুন , সেখানে কতটি সিপাস বর্ণিত হয়েছে?

যদি সেগুলি আপনার সিপিইউতে হাইপারথ্রেডিংয়ের প্রকৃত কোরগুলির দ্বিগুণ হয় তবে এটি কাজ করা উচিত।


7

যদি আপনি হাইপার-(ওরফে ইন্টেল হাইপার-প্রযুক্তি) ব্যবহার করছেন আপনি ব্যবহার করতে পারেন সনাক্ত করতে dmidecode

টার্মিনালে:

sudo dmidecode > /tmp/dmidecode.txt
gksudo gedit /tmp/dmidecode.txt

পপুলেটেড, এনএবলড (নীচে * * * * এর মধ্যে দেখানো হয়েছে) এর একটি স্থিতির মান সন্ধান করুন অর্থাৎ "সক্ষম" এর অর্থ হাইপারথ্রেডিং সক্রিয়

Physical CPU
Handle 0x000C, DMI type 4, 32 bytes
Processor Information
Socket Designation: Socket 1 CPU 1
Type: Central Processor
Family: Xeon
Manufacturer: GenuineIntel
ID: 43 0F 00 00 01 03 00 00
Signature: Type 0, Family 15, Model 4, Stepping 3
Flags:
FPU (Floating-point unit on-chip)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
Version: Intel Xeon
Voltage: 1.5 V
External Clock: 200 MHz
Max Speed: 4000 MHz
Current Speed: 3800 MHz
Status: *Populated, Enabled*
Upgrade: ZIF Socket
L1 Cache Handle: 0x0004
L2 Cache Handle: 0x0005
L3 Cache Handle: Not Provided

একটি Hyperthreaded যৌক্তিক CPU- র আপনি একটি স্থিতি মান দেখতে হবে জনহীন (মধ্যে * ... * নিচে দেখানো):

Handle 0x000D, DMI type 4, 32 bytes
Processor Information
Socket Designation: Socket 2 CPU 2
Type: Unknown
Family: Unknown
Manufacturer: Not Specified
ID: 00 00 00 00 00 00 00 00
Version: Not Specified
Voltage: 1.5 V
External Clock: 200 MHz
Max Speed: 4000 MHz
Current Speed: 3800 MHz
Status: *Unpopulated*
Upgrade: ZIF Socket
L1 Cache Handle: 0x0006
L2 Cache Handle: 0x0007
L3 Cache Handle: Not Provided

সূত্র


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

হাইপারথ্রেডিং অক্ষম করা হলে ডাইমোড আউটপুট পরিবর্তন হয় না - এটি কেবলমাত্র সিপিইউ হাইপারথ্রেডিং সমর্থন করে কিনা তা নির্দেশ করে। উদাহরণ হিসেবে বলা যায়, নিষ্ক্রিয় হাইপারথ্রেডিংসহ একটি i7-6600U CPU- র সিস্টেমে dmidecode | grep -i populaএছাড়াও প্রিন্ট Status: Populated, Enabled। আরও দেখুন আমার উত্তর
ম্যাক্সচলেপজিগ

2

dmidecode এর ফলস্বরূপ, আপনি এর মতো কিছু পেতে পারেন

    Core Count: 6
    Core Enabled: 6
    Thread Count: 12

হাইপার থ্রেড সহ সার্ভারগুলিতে চালু আছে

অথবা

    Core Count: 6
    Core Enabled: 6
    Thread Count: 6

বন্ধ আছে যারা সেট


এটি কাজ করে না। Thread Countযদি হাইপার-প্রতিবন্ধী, নিষ্ক্রিয় হাইপারথ্রেডিংসহ একটি i7-6600U সিস্টেমে যেমন হয় পরিবর্তন করে না dmidecode | grep '\(Core\|Thread\).*:'কপি করে প্রিন্ট Core Count: 2 Core Enabled: 2 Thread Count: 4
ম্যাক্সচেলেপজিগ

0

স্পোলার: আপনার সিপিইউ হাইপারথ্রেডিং সমর্থন করে না

সিপিইউ বিক্রেতার ডাটাবেসের সাথে পরামর্শ করার একটি বিকল্প হ'ল পতাকাটি পরীক্ষা /proc/cpuinfoকরা ht:

$ grep -o '\<ht\>' /proc/cpuinfo

এমনকি হাইপারথ্রেডিং বিআইওএস-এ অক্ষম থাকলেও পতাকাটি আউটপুটটিতে অন্তর্ভুক্ত করা উচিত।

হাইপারথ্রেডিং আসলেই সক্ষম হয়েছে কিনা তা পরীক্ষা করতে আপনি অন্য সিউডো ফাইলের সাথে পরামর্শ করতে পারেন :

$ cat /sys/devices/system/cpu/smt/control

সম্ভাব্য মানগুলি হ'ল: on|off|forceoff|notsupported|notimplemented

আপনি সেই সিউডো ফাইলটিতে on/ লিখে হাইপারথ্রেডিং সক্ষম / অক্ষম করতে পারেন off, যেমন:

# echo off > /sys/devices/system/cpu/smt/control

অবশ্যই, এটি catআগে প্রিন্ট করা থাকলে এটি কাজ করে না forceoff|notsupported|notimplemented

সাধারণত, হাইপারথ্রেডিং ডিফল্টরূপে সক্ষম হয়। এবং যদি এটি অক্ষম করা হয় তবে এটি সাধারণত BIOS এ করা হয়। যদি এটি বিআইওএসে অক্ষম থাকে তবে সিউডো ফাইলটি সম্ভবত forceoffথাকতে পারে এবং আপনাকে বিআইওএসে সেটিংস পরিবর্তন করতে হবে।

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