কম্পিউটার

লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

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

ইনস্টলেশন

অ্যানানিসিকে কাজ করার জন্য সিস্টেমড প্রয়োজন, তাই এটি সূর্যের নীচে প্রতিটি বিতরণের সাথে সামঞ্জস্যপূর্ণ নয়। এটি উবুন্টু, মিন্ট, ডেবিয়ান এবং সামঞ্জস্যপূর্ণ বিতরণে ইনস্টল করতে, ব্যবহার করুন:

git clone https://github.com/Nefelim4ag/Ananicy.git
./Ananicy/package.sh debian
sudo dpkg -i ./Ananicy/ananicy-*.deb
লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

আপনি যদি আর্চ, মাঞ্জারো বা অন্য অনুরূপ ডিস্ট্রিবিউশনে থাকেন তবে আপনি এটি এর সাথে ইনস্টল করতে পারেন:

git clone https://github.com/Nefelim4ag/Ananicy.git /tmp/ananicy
cd /tmp/ananicy
sudo make install

অ্যানানিসি schedtool-এর উপরও নির্ভর করে , তাই যদি এটি ইতিমধ্যে ইনস্টল করা না থাকে তবে এটিও যোগ করতে ভুলবেন না। আপনি এটি যথাক্রমে ডেবিয়ান-সামঞ্জস্যপূর্ণ এবং আর্চ-সামঞ্জস্যপূর্ণ বিতরণে করতে পারেন:

# Debian/Ubuntu
sudo apt install schedtool
 
# Arch Linux
sudo pacman -S schedtool

সবকিছু সেট আপ করার সাথে, এটির ডেমনকে সক্রিয় করুন যাতে এটি সর্বদা সক্রিয় থাকে এবং আপনার অ্যাপ্লিকেশনগুলি পর্যবেক্ষণ করে:

sudo systemctl enable ananicy
লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

প্রকৃত অ্যাপ্লিকেশন শুরু করতে, ব্যবহার করুন:

sudo systemctl start ananicy

আপনি যদি একটি কম-পাওয়ার সিস্টেমে থাকেন, যেখানে প্রতিটি সফ্টওয়্যার সংস্থানগুলির জন্য লড়াই করছে, এটি এখনই কিছুটা বেশি প্রতিক্রিয়াশীল বোধ করা শুরু করতে পারে৷

প্রিসেটগুলি পরীক্ষা করুন

অ্যানানিসি অনেক জনপ্রিয় অ্যাপ্লিকেশনের জন্য একগুচ্ছ নিয়মের সাথে আগে থেকে আসে। সেগুলি পরীক্ষা করতে, আপনার প্রিয় টার্মিনালটি জ্বালিয়ে দিন এবং অ্যানানিসির নিয়ম ডিরেক্টরিতে যান:

cd /etc/ananicy.d/00-default/
লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

প্রতিটি অ্যাপ্লিকেশনের নিয়ম পৃথক ফাইলে সংরক্ষণ করা হয়। উদাহরণস্বরূপ, জনপ্রিয় qBittorrent ফাইল শেয়ারিং ক্লায়েন্টের জন্য প্রিসেট নিয়মগুলি পরীক্ষা করতে, আপনি ব্যবহার করতে পারেন:

sudo nano qBittorrent.rules

আপনি সেগুলিকে আপনার নিজের নিয়মের ভিত্তি হিসাবে ব্যবহার করতে পারেন৷

আপনার নিজস্ব নিয়ম যোগ করুন

একটি অ্যাপ্লিকেশনের জন্য নিয়ম তৈরি করতে, আপনাকে তার প্রক্রিয়ার নাম জানতে হবে। সৌভাগ্যক্রমে, লিনাক্সে, এটি সাধারণত অ্যাপ্লিকেশনটির নামের মতোই। আপনি top ব্যবহার করতে পারেন প্রক্রিয়ার নাম যাচাই করার জন্য কমান্ড।

আপনার কম্পিউটারকে হগিং করছে এমন একটি প্রক্রিয়া সনাক্ত করুন এবং এর নামটি নোট করুন। আসুন আমাদের উদাহরণ হিসাবে টাইমশিফ্ট অ্যাপটি ব্যবহার করি।

Ananicy এর নিয়ম ডিরেক্টরিতে একটি নতুন টেক্সট ফাইল তৈরি করুন। আপনি যদি ভবিষ্যতের সহজ রেফারেন্সের জন্য অ্যাপ্লিকেশনটির নাম ব্যবহার করেন তবে এটি আরও ভাল। অ্যানানিসি যাতে এটিকে একটি নিয়ম ফাইল হিসাবে চিনতে পারে তার জন্য আপনার ফাইলের শেষ ".rules" দিয়ে করা নিশ্চিত করুন৷

sudo nano timeshift.rules
লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

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

ananicy dump types
লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

এগুলির প্রত্যেকটিই বিভিন্ন সুন্দর, ionice, cgroup এবং অন্যান্য মানগুলির সাথে আসে, তবে এটি আপনাকে পরামর্শ দেওয়া হয়েছে যে আপনি একটি অ্যাপ্লিকেশনের সুন্দর মানকে টুইক করার চেয়ে বেশি এগিয়ে যাবেন না৷ যাইহোক, যে অ্যাপ্লিকেশনগুলি আপনার সঞ্চয়স্থানে প্রচুর পড়তে এবং লিখতে পারে, তাদের জন্য ioclass প্যারামিটার ব্যবহার করে তাদের ইনপুট-আউটপুট অগ্রাধিকার নির্ধারণ করাও মূল্যবান৷

এই সমস্ত কিছু মাথায় রেখে, আমরা আমাদের নিজস্ব কাস্টম নিয়ম তৈরি করতে প্রস্তুত:

{ "name": "timeshift", "type": "BG_CPUIO", "nice": 17, "ioclass": "idle" }
লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

উপরের নিয়ম:

  • অ্যাপ্লিকেশনের নাম উল্লেখ করে
  • এর প্রকার নির্ধারণ করে
  • প্রিসেটগুলির তুলনায় এটিকে একটি ভিন্ন সুন্দর অগ্রাধিকার বরাদ্দ করে
  • নিষ্ক্রিয় হিসাবে এটির ইনপুট/আউটপুট অগ্রাধিকার সেট করে

তাত্ত্বিকভাবে, আপনাকে শুধুমাত্র একটি অ্যাপ্লিকেশনের নাম বলতে হবে এবং বাকি সবকিছু ঐচ্ছিক। ব্যবহারিকভাবে, আপনি যদি এটি করেন তবে অ্যানানিসি শুধুমাত্র অ্যাপটির অস্তিত্ব স্বীকার করবে কিন্তু এটি নিয়ন্ত্রণ করার চেষ্টা করবে না। এর জন্য, আপনাকে অন্তত এর ধরনটি সংজ্ঞায়িত করতে হবে।

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

BG_CPUIO আমরা যে প্রিসেটটি নির্বাচন করেছি তা আমাদের অ্যাপ্লিকেশনের প্রকারের সাথে মিলে যায় যেহেতু, একটি ব্যাকআপ সমাধান হিসাবে, এটি সাধারণত পটভূমিতে চলে তবে ক্রমাগত পড়া এবং লেখার সময় প্রচুর প্রক্রিয়াকরণ চক্র খেয়ে ফেলতে পারে। যাইহোক, BG_CPUIO প্রিসেট এটিকে সর্বনিম্ন সম্ভাব্য সুন্দর এবং আয়নিস মানগুলি বরাদ্দ করবে, যা ব্যাকআপ প্রক্রিয়াটিকে বহু বছর নিতে পারে। এই কারণে, প্রক্রিয়াটিকে কিছুটা গতি বাড়ানোর জন্য আমরা চমৎকার মান 17 এবং ioclass-কে সর্বোত্তম প্রচেষ্টায় বাড়িয়ে দিয়েছি।

আরেকটা উদাহরণ দেখে নেওয়া যাক। ব্যাটম্যান:আরখাম সিটির "জোকারস কার্নিভাল" ডিএলসি আমার প্রিয় গেমিংয়ের একটি। যদিও এর ক্রিয়াটি তরল গতির উপর নির্ভর করে, এবং যখনই ব্যাকগ্রাউন্ডে অন্য একটি সফ্টওয়্যার চলছে তখন আমি লিনাক্স মিন্টে এটি তোতলাতে অনুভব করতে পারি। সুতরাং, এটির জন্য, আমি উল্টোটা করতে চেয়েছিলাম - অন্য সব কিছুর চেয়ে এটির অগ্রাধিকার বাড়ান৷

লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

প্রোটনের সাথে স্টিমের মাধ্যমে গেমটি চালানোর পরে লিনাক্স মিন্টের সিস্টেম মনিটর পরীক্ষা করে, আমরা এটির প্রক্রিয়ার নাম "BatmanAC.exe" হিসাবে দেখতে পারি। Ananicy এর সাথে এটিকে একটি সুন্দর বুস্ট দেওয়ার জন্য, আমি আগের মতই “BatmanAC_ody.rules” নামে একটি নতুন নিয়ম তৈরি করেছি। যাইহোক, এই ক্ষেত্রে, এর বিষয়বস্তু ছিল:

{ "name": "BatmanAC.exe", "type": "Game"}
লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

এটি যথেষ্ট ছিল যেহেতু "গেম" টাইপ একটি "-5" চমৎকার মান নিয়ে আসে, অন্য সবকিছুর চেয়ে একটি অ্যাপকে অগ্রাধিকার দেয়। এইভাবে, আপনাকে সুন্দর মানটি স্পষ্টভাবে বলতে হবে না বা আরও জটিল নিয়ম তৈরি করতে হবে না।

ভাল পরিমাপের জন্য, একটি পরে পুনরায় চালু করুন, এবং অ্যানানিসি সক্রিয় হবে, আপনার সফ্টওয়্যারের অগ্রাধিকারগুলিকে পরিবর্তন করতে কর্মে বসতে প্রস্তুত। নীচের স্ক্রিনশটে BatmanAC.exe প্রক্রিয়ার জন্য আপনি যে মানটি দেখছেন তা স্বয়ংক্রিয়ভাবে বরাদ্দ করা হয়েছে, কোনো ব্যবহারকারীর হস্তক্ষেপের প্রয়োজন ছাড়াই৷

লিনাক্সে অ্যানানিসি দিয়ে অ্যাপের অগ্রাধিকারগুলি কীভাবে নিয়ন্ত্রণ করবেন

মনে রাখবেন যে আপনাকে আপনার সমস্ত সফ্টওয়্যারের জন্য এটি করতে হবে না, তবে সবচেয়ে চাহিদাপূর্ণ ব্যাকগ্রাউন্ড প্রক্রিয়াগুলির উপর লাগাম টানানো এবং আরও বেশি ইন্টারেক্টিভগুলিকে বাড়িয়ে তোলা আপনার কম্পিউটার ব্যবহার করার অনুভূতিতে একটি পার্থক্য তৈরি করতে পারে। এটি তোতলামি কমিয়ে দিতে পারে এবং চারপাশে একটি মসৃণ অভিজ্ঞতা প্রদান করতে পারে।

আপনি কি ইতিমধ্যেই অ্যানানিসি বা অন্য অনুরূপ সমাধান ব্যবহার করছেন যা আপনাকে নিয়ন্ত্রণ করতে দেয় কীভাবে আপনার কম্পিউটারের সংস্থানগুলি আপনার অ্যাপগুলিতে বরাদ্দ করা হয়? আপনি ম্যানুয়ালি আপনার সফ্টওয়্যার renicing? নীচের মন্তব্য বিভাগে আমাদের বলুন৷


  1. NTP সার্ভারের সাথে কীভাবে লিনাক্স সময় সিঙ্ক করবেন

  2. লিনাক্সের সাথে মাইক্রোসফ্ট ওয়ানড্রাইভ কীভাবে সিঙ্ক করবেন

  3. আপনার ভয়েস দিয়ে আপনার উইন্ডোজ 10 পিসিকে কীভাবে নিয়ন্ত্রণ করবেন

  4. কিভাবে একটি রাস্পবেরি পাই দিয়ে একটি 3D প্রিন্টার নিয়ন্ত্রণ করবেন