টাস্কসেট ব্যবহার করে কীভাবে কোনও সিপিইউ কোরে একটি প্রোগ্রাম বরাদ্দ করবেন

সার্ভার, ল্যাপটপ বা ডেস্কটপ পিসি এবং এমনকি মোবাইল ডিভাইসে যেমন মাল্টি-কোর প্রসেসর আরও বেশি সাধারণ হয়ে ওঠে, তত বেশি সংখ্যক অ্যাপ্লিকেশন এই ধরণের সিস্টেমের জন্য অনুকূলিত হয়। তবে এটি কখনও কখনও কোনও প্রোগ্রাম বা প্রক্রিয়াটিকে এক বা একাধিক নির্দিষ্ট কার্নেলের সাথে যুক্ত করতে কার্যকর হতে পারে। আসুন দেখুন কিভাবে এটি পেতে ...

টাস্কসেট ইনস্টল করুন

টাস্কসেট সরঞ্জামটি "ইউজার-লিনাক্স" প্যাকেজের অংশ। বেশিরভাগ লিনাক্স বিতরণ পূর্বনির্ধারিত প্যাকেজটি নিয়ে আসে। যদি টাস্কসেট উপলভ্য না হয় তবে নিম্নলিখিত হিসাবে এটি ইনস্টল করা সম্ভব:

En Debian / Ubuntu- এবং ডেরিভেটিভস:

sudo অ্যাপ্লিকেশন ব্যবহার-লিনাক্স ইনস্টল করুন

En ফেডোরা এবং ডেরিভেটিভস:

sudo yum ইনস্টল ইউজার-লিনাক্স

চলমান প্রক্রিয়াটির সিপিইউ অ্যাফিনিটি দেখুন

প্রক্রিয়াটির জন্য সিপিইউ সম্পর্কিত তথ্য পুনরুদ্ধার করতে, নিম্নলিখিত ফর্ম্যাটটি ব্যবহার করুন:

টাস্কসেট-পি পিআইডি

উদাহরণস্বরূপ, পিআইডি 2915 সহ কোনও প্রক্রিয়ার সিপিইউর সান্নিধ্য পরীক্ষা করতে:

টাস্কসেট -পি 2915

ফলাফলটি ফেরত দেয়:

পিড 2915 এর বর্তমান স্নেহ মুখোশ: ff

টাস্কসেট একটি হেক্সাডেসিমাল বিটমাস্ক ফর্ম্যাটে বর্তমান সিপিইউ অ্যাফিনিটি প্রদান করে। উদাহরণস্বরূপ, স্নেহ (হেক্সাডেসিমাল বিট মাস্কে উপস্থাপিত) বাইনারি ফর্ম্যাটে "11111111" এর সাথে মিলে যায়, যার অর্থ এই প্রক্রিয়াটি আটটি পৃথক সিপিইউ কোরের (0 থেকে 7) চলতে পারে।

একটি হেক্সাডেসিমাল বিট মাস্কের সর্বনিম্ন বিটটি মূল আইডি 0 এর সাথে সামঞ্জস্য করে, মূল আইডি 1 এর দ্বিতীয় থেকে সর্বনিম্ন বিট, তৃতীয় সর্বনিম্ন বিট কোর আইডি 2 এর সাথে মিল রয়েছে। সুতরাং, উদাহরণস্বরূপ, একটি সিপিইউ অ্যাফিনিটি "0x11" কোর আইডি 0 এবং 4 উপস্থাপন করে।

টাস্কসেট বিটমাস্কের পরিবর্তে প্রসেসরের তালিকা হিসাবে সিপিইউ অ্যাফিনিটি প্রদর্শন করতে পারে, যা পড়া সহজ। এই ফর্ম্যাটটি ব্যবহার করতে, আপনাকে অবশ্যই "-c" বিকল্পের সাহায্যে টাস্কসেট চালাতে হবে। উদাহরণ স্বরূপ:

টাস্কসেট -cp 2915

ফলাফলটি ফেরত দেয়:

পিড 2915 এর বর্তমান সখ্যতা তালিকা: 0-7

একটি নির্দিষ্ট কার্নেল চালানোর জন্য একটি প্রক্রিয়া জোর করুন

টাস্কসেট ব্যবহার করে একটি চলমান প্রক্রিয়া একটি নির্দিষ্ট সিপিইউ কোরকে বরাদ্দ করা যেতে পারে। এটি করতে, আপনাকে অবশ্যই নিম্নলিখিত ফর্ম্যাটটি ব্যবহার করতে হবে:

টাস্কসেট-পি COREMASK পিআইডি টাস্কসেট -সিপি-তালিকা-তালিকা পিআইডি

উদাহরণস্বরূপ, 0 এবং 4 কোরে কোনও প্রক্রিয়া নির্ধারণের জন্য, আপনি দৌড়াবেন:

টাস্কসেট-পি 0x11 9030

ফলাফল কী দেয়:

পিড 9030 এর বর্তমান অ্যাফিনিটি মাস্ক: এফএফ পিড 9030 এর নতুন অ্যাফিনিটি মাস্ক: 11

সমানভাবে, আপনি চালাতে পারেন:

টাস্কসেট -cp 0,4 9030

"-C" বিকল্পের সাহায্যে আপনি সংখ্যার কার্নেল আইডিগুলির একটি তালিকা কমা দ্বারা পৃথক করে নির্দিষ্ট করতে পারেন বা আপনি এমনকি ব্যাপ্তি অন্তর্ভুক্ত করতে পারেন (উদাহরণস্বরূপ, 0,2,5,6-10)।

একটি নির্দিষ্ট কার্নেল ব্যবহার করে একটি প্রোগ্রাম চালু করুন

টাস্কসেট বেশ কয়েকটি নির্দিষ্ট কার্নেল ব্যবহার করে একটি নতুন প্রোগ্রাম চালু করার অনুমতি দেয়। এটি করতে, এটি অবশ্যই নিম্নলিখিত ফর্ম্যাটে ব্যবহার করা উচিত:

এক্সিকিউটেবল ক্রেমাস্ক টাস্কসেট

উদাহরণস্বরূপ, সিপিইউ কোর আইডি 0 এ ভিএলসি প্রোগ্রাম শুরু করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

টাস্কসেট-সি 0 ভিএলসি

কেবল একটি নির্দিষ্ট প্রোগ্রামে একটি কার্নেল উত্সর্গ করুন

যদিও টাস্কসেট একটি নির্দিষ্ট কার্নেলের জন্য একটি প্রোগ্রাম নির্ধারণের অনুমতি দেয়, এর অর্থ এই নয় যে এটি ব্যবহার করে এমন কোনও প্রোগ্রাম বা প্রক্রিয়া নেই। এটি এড়াতে এবং কোনও নির্দিষ্ট প্রোগ্রামের জন্য একটি সম্পূর্ণ কার্নেল উত্সর্গ করার জন্য আপনাকে অবশ্যই কর্নেল প্যারামিটার "isolcpus" ব্যবহার করতে হবে, যা আপনাকে প্রারম্ভকালে কার্নেল সংরক্ষণ করতে দেয়।

এটি করতে, আপনাকে GRUB এর কার্নেল লাইনে "isolcpus =" পরামিতি যুক্ত করতে হবে। উদাহরণস্বরূপ, আইডি কোর 0 এবং 1 টি সংরক্ষণ করার জন্য, "isolcpus = 0,1" যুক্ত করুন।

এটি সম্পন্ন হয়ে গেলে, লিনাক্স শিডিয়ুলার সংরক্ষণযোগ্য কার্নেলগুলিতে কোনও নিয়মিত প্রক্রিয়া বরাদ্দ করবে না, যদি না নির্দিষ্টভাবে টাস্কসেটের সাথে নির্ধারিত হয়।

উৎস: xmodulo & টাস্কসেট ম্যান পেজ.


আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।

  1.   পিটারচেখো তিনি বলেন

    শুভ পোস্ট :)।

  2.   লুইস তিনি বলেন

    ভাল পোস্ট তবে ট্রোলিংয়ের চেতনা ছাড়াই ...

    একটি নির্দিষ্ট কার্নেলের জন্য একটি প্রোগ্রাম বরাদ্দ করার কী ব্যবহার ???

    আমি বলতে চাইতেছি; আপনার কাছে যদি 12 টি কোরের কম্পিউটার থাকে, তবে যৌক্তিক জিনিসটি সেই 12 টি কোরের ব্যবহার করে কোনও নির্দিষ্ট প্রোগ্রামের জন্য কার্যকর করা হবে এবং এটি সীমাবদ্ধ নয়, যেহেতু আমরা সর্বোচ্চ সম্ভাব্য পারফরম্যান্সটি অর্জন করি।

    আমি যা দেখতে পাচ্ছি তা হ'ল বিকল্পটি যা আমাদের কোনও নির্দিষ্ট প্রোগ্রামে একচেটিয়া ব্যবহার রেখে কোনও নির্দিষ্ট কার্নেলের কোনও প্রক্রিয়া বরাদ্দ করতে দেয় না।

    1.    jvk85321 তিনি বলেন

      আপনি যে বিষয়টি উল্লেখ করেছেন তা তা উপলব্ধি করে, পরিকল্পনাকারীকে সমস্ত কোর ব্যবহার করার মাধ্যমে, সংস্থানগুলি আরও ভাল ভারসাম্যযুক্ত হয় তবে কখনও কখনও একটি নির্দিষ্ট কাজের সাথে ভার্চুয়াল মেশিন চালানো যেমন একটি বিশেষ উত্সর্গীকৃত কোর প্রয়োজন হয়, তখন সেই যন্ত্রটির কার্যকারিতা যথেষ্ট উন্নত হয় যখন নির্ধারিত কার্নেলটিতে আর কোনও প্রক্রিয়া চলছে না।

      atte
      jvk85321

      1.    লিনাক্স ব্যবহার করা যাক তিনি বলেন

        ঠিক! ধন্যবাদ, জেভিকে! 🙂

      2.    lf তিনি বলেন

        তবে আপনি যখন ভার্চুয়াল মেশিনটি তৈরি করছেন, এটি আপনাকে নির্ধারিত সিপিইউয়ের পরিমাণ চয়ন করতে বলে ... শেষ পর্যন্ত যদি অপারেটিং সিস্টেমটি বাদ পড়ে এবং সমস্ত সিপিইউতে এটি কার্যকর করে তবে এই মানটি বেছে নেওয়ার কী ব্যবহার ... উদাহরণটি সেখানে সেরা নয় ...

        উইন্ডোজ 8.1 x64, এএমডি এবং ফায়ারফক্সে ফ্ল্যাশ কাজ করার জন্য, এটি বেছে নেওয়ার জন্য সুপারিশ করা হয়েছিল যে ফ্ল্যাশ কেবল একটি সিপিইউতে চলে, তবে এটি আমার পক্ষে কার্যকর হয়নি। এটি যদি আপনি আলাদা ডিই এর টাস্ক ম্যানেজারগুলিতে বা কমপক্ষে কে-কে-ডি যুক্ত করে থাকেন (এটি ইতিমধ্যে সেখানে না থাকে) তবে এটি সুবিধাজনক হবে।

      3.    lf তিনি বলেন

        আহ, আমি মন্তব্যটির শেষটি বুঝতে পারি নি ... তবে তার জন্য, ভার্চুয়াল মেশিনে চালিত সিপিইউতে সমস্ত প্রক্রিয়া নিষিদ্ধ করতে হবে। অথবা এগুলি অন্য সিপিইউতে অর্পণ করুন। আকর্ষণীয় এবং খুব ভাল মন্তব্য।

    2.    ফার্নান্দো তিনি বলেন

      জিনিয়াস সুপার কম্পিউটার তৈরি করতে ব্যবহৃত হয়

  3.   লুইস তিনি বলেন

    এটা বোঝা যায়.

    স্পষ্টির জন্য ধন্যবাদ।

  4.   টেক তিনি বলেন

    কোনও নির্দিষ্ট প্রোগ্রামের জন্য কার্নেল সংরক্ষণ করার সময়, এক্সিকিউশন থ্রেডগুলির সাথে কী ঘটে? আপনি যদি এইচটি দিয়ে কার্নেল দিয়ে করেন তবে এটি প্রোগ্রামের জন্য ২ টি এক্সিকিউশন থ্রেড সংরক্ষণ করে।

  5.   সুইচার তিনি বলেন

    এই কমান্ডটি বেশ কয়েকটি কোর সহ কম্পিউটারগুলিতে খুব কার্যকর বলে মনে হচ্ছে না, তবে আমাদের মধ্যে যাদের ডুয়াল কোর রয়েছে এটি বেশ কার্যকর। উদাহরণস্বরূপ, আমার একটি গেম রয়েছে যে আমি যখন এটি খুলি তখন সমস্ত প্রসেসরের কোর ব্যবহার করা হয় এবং আমার যদি অন্যান্য প্রোগ্রামও থাকে যা সিপিইউর প্রয়োজন হয় (যেমন বড় ফাইলগুলিতে গ্রেপের সাথে কিছু অনুসন্ধান করা হয়) তবে সিস্টেমটি ধীর হয়ে যায়। সমাধানটি কেবল একটি কোর ব্যবহার করতে গেমটি সীমাবদ্ধ করার মতোই সহজ as
    আমি এলএফের সাথেও একমত, তাদের সত্যই এটি টাস্ক ম্যানেজারগুলিতে একীভূত করা উচিত (যেগুলি আমি এতক্ষণ জেন্টুর উপর চেষ্টা করেছি, আমি মনে করি এটির কোনওটি নেই) বিশেষত উইন্ডোজে এটি এক্সপি থেকে বিদ্যমান এমন কিছু (ডান ক্লিকের উপর ক্লিক করুন) প্রক্রিয়া> "সম্পর্ক স্থাপন করুন ...") তবে কিছু সময় আগে আমি নিম্নলিখিত স্ক্রিপ্টটি পেয়েছি যা টাস্কসেটকে কিছুটা স্বজ্ঞাত কিছুতে পরিণত করে (মূলত প্রকাশিত এখানে এবং এমনকি কয়েকটি ক্ষেত্রে যে কোরগুলির ব্যবহার পরিচালনা করা প্রয়োজন তা দেখানো হয়েছে):
    #!/bin/bash
    read -p 'Ingrese el ID del proceso en cuestión: ' ID
    read -p 'Ingrese la lista de procesadores separados por comas: ' P
    echo 'Su ID es '$ID' y los procesadores son '$P
    sudo taskset -p -c $P $ID
    read -p 'Listo, presione enter para finalizar' P

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

  6.   জর্স তিনি বলেন

    নতুন ব্যবহারকারীদের এটি পছন্দ করতে টাস্কসেটের জন্য কোনও গ্রাফিকাল ইন্টারফেস নেই