Process Priority
আপনার কম্পিউটারে যখন অনেকগুলো প্রসেস একসাথে চলে, তখন কার্নেলকে সিদ্ধান্ত নিতে হয় কাকে আগে সুযোগ দেবে এবং কাকে পরে। এই অগ্রাধিকার ঠিক করার ব্যবস্থাই হলো Process Priority।
Nice Value
লিনাক্সে প্রতিটি প্রসেসের একটি Nice ভ্যালু থাকে। এটি নির্দেশ করে যে প্রসেসটি অন্য প্রসেসগুলোর প্রতি কতটা “দয়ালু” (Nice)।
- Nice ভ্যালুর রেঞ্জ: -২০ থেকে ১৯ পর্যন্ত।
- ডিফল্ট ভ্যালু: ০।
রুল অফ থাম্ব (Rule of Thumb)
- ভ্যালু যত কম (নেগেটিভ), অগ্রাধিকার তত বেশি। (প্রসেসটি কম দয়ালু, সে নিজেই আগে চলতে চায়)।
- ভ্যালু যত বেশি (পজিটিভ), অগ্রাধিকার তত কম। (প্রসেসটি খুব দয়ালু, সে অন্যদের আগে সুযোগ দেয়)।
| Nice Value | Priority | Description |
|---|---|---|
| -20 | High | সবচেয়ে বেশি অগ্রাধিকার (Highest Priority) |
| 0 | Normal | স্বাভাবিক অবস্থা |
| 19 | Low | সবচেয়ে কম অগ্রাধিকার (Lowest Priority) |
nice
একটি প্রসেস চালু করার সময় তাকে নির্দিষ্ট প্রায়োরিটি দেওয়ার জন্য nice কমান্ড ব্যবহার করা হয়।
# একটি প্রসেসকে ১০ প্রায়োরিটিতে চালু করো (কম্পিউটার চাপ কম নেবে)
nice -n 10 python3 script.py
# একটি প্রসেসকে সবচেয়ে বেশি অগ্রাধিকার দিয়ে শুরু করো (রুট প্রিভিলেজ লাগবে)
sudo nice -n -20 nmap -sV target.comrenice
যদি কোনো প্রসেস ইতিমধ্যে চালু থাকে এবং আপনি তার প্রায়োরিটি পরিবর্তন করতে চান, তবে renice ব্যবহার করুন।
# PID 1234 প্রসেসটির প্রাওয়ারিটি ৫-এ পরিবর্তন করো
sudo renice -n 5 -p 1234কেন প্রায়োরিটি বদলাবেন?
ধরুন আপনি ভিডিও এডিটিং বা বড় কোনো ডাটাবেস স্ক্যান করছেন যা আপনার পুরো পিসি স্লো করে দিচ্ছে। আপনি চাইলে সেই প্রসেসটির Nice ভ্যালু ১৯ করে দিতে পারেন, যাতে সেটি ব্যাকগ্রাউন্ডে ধীরে ধীরে কাজ করে এবং আপনার অন্য কাজগুলো করতে সুবিধা হয়।
CyberSec Note
Priority and Performance-based Attacks:
অ্যাটাকাররা অনেক সময় তাদের ক্রিপ্টো-মাইনার বা ব্রুট-ফোর্স স্ক্রিপ্টগুলো খুব হাই নাইস ভ্যালু (যেমন: ১৯) দিয়ে চালায়। এর ফলে ইউজার টাস্ক ম্যানেজার চেক না করলে বুঝতে পারে না যে ব্যাকগ্রাউন্ডে কিছু একটা চলছে, কারণ কম্পিউটার হঠাৎ করে হ্যাং হয় না।
আবার অন্যদিকে, যদি সিস্টেমকে ক্র্যাশ করাতে চায় (DoS), তবে অ্যাটাকাররা রিসোর্স হাংরি কোনো প্রসেস -২০ প্রায়োরিটিতে চালিয়ে দিতে পারে।
Quick Check
- Nice ভ্যালু -৫ এবং +৫ এর মধ্যে কোনটির অগ্রাধিকার বেশি?
- ইতিমধ্যে চলমান কোনো প্রসেসের প্রায়োরিটি পরিবর্তন করার কমান্ড কোনটি?
- নেগেটিভ নাইস ভ্যালু সেট করার জন্য কেন রুট পারমিশন লাগে?
- সব প্রসেসের জন্য ডিফল্ট নাইস ভ্যালু কত থাকে?
পরবর্তী Section → Networking