আপনি যখন লিনাক্স ইনস্টল করবেন, সেটআপ প্রক্রিয়া সম্ভবত লিনাক্সের জন্য পার্টিশনের সাথে হার্ড ডিস্কে একটি সোয়াপ পার্টিশন যোগ করবে। কিন্তু এই অদলবদল পার্টিশনটি কিসের জন্য ব্যবহৃত হয় এবং এটি কি সত্যিই প্রয়োজনীয়?
swap কি?
যখন একটি মাল্টিটাস্কিং অপারেটিং সিস্টেমের শারীরিক মেমরি ফুরিয়ে যায়, তখন এটি নতুন প্রসেস শুরু করতে বা বিদ্যমান প্রসেসে আরও মেমরি বরাদ্দ করতে অক্ষম হয়। এই সমস্যাটি সমাধান করার জন্য, স্থানীয় স্টোরেজের (প্রায়শই হার্ড ড্রাইভ) স্থানের একটি বিশেষ ব্লক আলাদা করা হয় যা বর্তমানে চলমান না এমন প্রক্রিয়াগুলির জন্য একটি অস্থায়ী হোল্ডিং এরিয়া হিসাবে কাজ করে। OS নিষ্ক্রিয় প্রক্রিয়াটিকে মেমরির বাইরে এবং হার্ড ডিস্কে "অদলবদল" করে। এটি নতুন কাজের জন্য স্মৃতিশক্তি মুক্ত করে। নিষ্ক্রিয় প্রক্রিয়াটি আবার সক্রিয় হয়ে গেলে, এটি স্থানীয় স্টোরেজ থেকে মেমরিতে অদলবদল করা হবে। এই পদ্ধতিটি অদলবদল হিসাবে পরিচিত।
সোয়াপ স্পেস কি সত্যিই প্রয়োজনীয়?
অদলবদল স্থান প্রযুক্তিগতভাবে প্রয়োজনীয়? না। লিনাক্স এটি ছাড়া কাজ করতে পারে এবং কিছু পরিস্থিতিতে যেমন এমবেডেড সমাধান, লিনাক্স অদলবদল ছাড়াই চালানো যেতে পারে। ওএস যদি এমন পরিস্থিতিতে পড়ে যেখানে এটির যথেষ্ট মেমরি নেই, তবে এটি আতঙ্কিত হবে এবং বন্ধ হয়ে যাবে। পর্যাপ্ত শারীরিক RAM থাকলে, মেশিনটি কোনো সমস্যা ছাড়াই চলবে।
অদলবদল স্থান কার্যত প্রয়োজনীয়? হ্যাঁ. যদিও অদলবদল একটি কম্পিউটারকে ধীর করে দেয় (যেহেতু হার্ড ডিস্কে পড়া এবং লেখা RAM অ্যাক্সেস করার চেয়ে অনেক ধীর) এবং অদলবদল এড়াতে বোর্ডে যতটা শারীরিক মেমরি থাকা সর্বোত্তম সমাধান, সেখানে বৈধ পরিস্থিতি রয়েছে যেখানে অদলবদল করা বাঞ্ছনীয়। উদাহরণস্বরূপ, সিস্টেম বুট করার সময়, এমন প্রসেস হতে পারে যা চলে (এবং তাই সিস্টেম মেমরি গ্রাস করে) কিন্তু তারপর কার্যকরভাবে খুব দীর্ঘ সময়ের জন্য ঘুমায়। বা মেমরি যা বরাদ্দ করা হয়, লেখা হয় এবং তারপরে আর কখনও ব্যবহার করা হয় না। এই পরিস্থিতিতে, সোয়াপিং অ্যালগরিদম এই মেমরিটিকে হার্ড ডিস্কে স্থানান্তর করতে শুরু করবে এবং তাই মূল্যবান সিস্টেম মেমরি খালি করবে। এটি আসলে নিশ্চিত করে যে সর্বদা সর্বাধিক পরিমাণ RAM পাওয়া যায় এবং তাই কর্মক্ষমতা বৃদ্ধি করে।
যেসব মেশিনে মেমরিতে থাকার জন্য সবকিছুর জন্য পর্যাপ্ত শারীরিক র্যাম নেই সেক্ষেত্রে সোয়াপ স্পেস ব্যবহার অপরিহার্য!
সম্পূর্ণতার জন্য, এটি উল্লেখ করার মতো যে লিনাক্সের আউট-অফ-মেমরি কিলার (OOM) নামে একটি সাবসিস্টেমও রয়েছে, যা মেমরি ফুরিয়ে গেলে কার্নেল বন্ধ করার পরিবর্তে, বিনামূল্যে সংস্থানগুলির প্রক্রিয়াগুলিকে হত্যা করা শুরু করবে। এর ক্রিয়াগুলি কনফিগারযোগ্য৷
৷আমার কতটা সোয়াপ স্পেস বরাদ্দ করা উচিত?
কোন পরম নিয়ম নেই এবং যেহেতু হার্ড ডিস্কের জায়গা সস্তা (প্রতি গিগাবাইটে ডলার) খুব কম জায়গার চেয়ে খুব বেশি বরাদ্দ করা ভাল। একটি অঙ্গুষ্ঠের নিয়ম হিসাবে, আপনার শারীরিক মেমরি হিসাবে অদলবদল স্থানের দুই বা তিনগুণ পরিমাণ থাকা উচিত।
সোয়াপ পার্টিশন প্রসারিত না করে সোয়াপ যোগ করা
বিদ্যমান সোয়াপ পার্টিশন পরিবর্তন না করে একটি সিস্টেমে সোয়াপ স্থান যোগ করার দুটি উপায় রয়েছে। একটি উপায় হল অন্য ড্রাইভে একটি সোয়াপ পার্টিশন ব্যবহার করা, অন্যটি হল একটি সোয়াপ ফাইল ব্যবহার করা।
অন্য একটি হার্ড ড্রাইভ ব্যবহার করতে, "লিনাক্স সোয়াপ" (কোড 82) টাইপের একটি পার্টিশন তৈরি করুন এবং তারপরে "mkswap
চালান সোয়াপ স্পেস প্রস্তুত করতে কমান্ড:
mkswap /dev/sdb2
যেখানে /dev/sdb2
আপনার তৈরি করা পার্টিশনের নাম। সোয়াপ স্পেস ব্যবহার করতে অবিলম্বে “swapon
ব্যবহার করুন ” কমান্ড:
swapon /dev/sdb2
“swapon -s
ব্যবহার করুন ” বর্তমানে ব্যবহৃত অদলবদল স্থানগুলির একটি তালিকা পেতে। স্থায়ীভাবে সিস্টেমে অদলবদল স্থান যোগ করতে, আপনাকে /etc/fstab
সম্পাদনা করতে হবে ফাইল করুন এবং এর অনুরূপ একটি লাইন যোগ করুন:
/dev/sdb2 none swap sw 0 0
যদি আপনার সিস্টেম ডিস্কের নাম দেওয়ার জন্য অনন্য শনাক্তকারী ব্যবহার করে, তাহলে blkid
ব্যবহার করুন ডিভাইসগুলির জন্য আইডিগুলির একটি তালিকা পেতে কমান্ড। /etc/fstab
-এ সোয়াপ স্পেস মাউন্ট করার লাইন তারপর এরকম কিছু দেখাবে:
UUID=036da155-1ea1-4392-b8d4-700f65aa1ead none swap sw 0 0
অদলবদলের জন্য একটি ফাইল ব্যবহার করতে, একটি বড় ফাঁকা ফাইল তৈরি করুন (dd
ব্যবহার করে ) ফাইল সিস্টেমে যা আপনি অদলবদল করার জন্য ব্যবহার করতে চান। উদাহরণস্বরূপ, একটি 1GB ফাইল তৈরি করতে, টাইপ করুন:
dd if=/dev/zero of=/store/swapfile bs=1024 count=1048576
যেখানে /store/swapfile
কাঙ্খিত ফাইল সিস্টেমে সোয়াপ ফাইলের পথ।
অতিরিক্ত সোয়াপ পার্টিশনের মতো, ফাইলটিকে এখন mkswap
দিয়ে প্রস্তুত করতে হবে এবং তারপর swapon
এর সাথে ব্যবহার করা হয় . এটি /etc/fstab
-এও যোগ করা দরকার ফাইল পদ্ধতিটি ঠিক উপরের মতই, তবে আপনাকে /store/swapfile
ব্যবহার করতে হবে /dev/sdb2
এর পরিবর্তে সোয়াপ স্পেস প্যারামিটার হিসাবে।
অদলবদল
লিনাক্স কার্নেল মেমরির বাইরে প্রসেস অদলবদল করার জন্য কতটা আক্রমনাত্মকভাবে চেষ্টা করা উচিত তা সংজ্ঞায়িত করতে টুইক করা যেতে পারে। এই প্রবণতাটি swappiness
নামে একটি কার্নেল ভেরিয়েবল দ্বারা নিয়ন্ত্রিত হয় . একটি swappiness
0 এর মানে হল যে কার্নেল যতটা সম্ভব অদলবদল করা এড়াবে, যখন 100 মানে কার্নেলটি কীভাবে সোয়াপ স্পেস ব্যবহার করে তাতে আক্রমণাত্মক হবে। অনেক লিনাক্স ডিস্ট্রিবিউশনের ডিফল্ট সেটিং হল 60। এই কমান্ডটি ব্যবহার করে গতিশীলভাবে সংখ্যা পরিবর্তন করা সম্ভব:
sudo sysctl vm.swappiness=10
স্থায়ীভাবে একটি মান সেট করতে, আপনাকে vm.swappiness
পরিবর্তন করতে হবে (বা যোগ করতে হবে, যদি এটি বিদ্যমান না থাকে) /etc/sysctl.conf
-এ পরিবর্তনশীল ফাইল।
লিনাক্সে অদলবদল সম্পর্কে আপনার কোন প্রশ্ন থাকলে আমাদের জানান।
এই নিবন্ধটি প্রথম ডিসেম্বর 2013 এ প্রকাশিত হয়েছিল এবং আগস্ট 2020 এ আপডেট করা হয়েছিল৷