ব্লগের Hetzner সার্ভার মাইগ্রেশন এবং সোয়াপ স্পেস তৈরি
নমস্কার, আমি অযোগ্য।
আমি Hetzner সার্ভারে মাইগ্রেট করতে পেরেছিলাম, কিন্তু deno task lume-এর সাথে আটকে ছিলাম। তারপর, top দেখতে গিয়ে আবিষ্কার করলাম যে মেমরি শেষ হয়ে গেছে।
সুতরাং, আমি ভার্চুয়াল মেমরি তৈরি করে মাউন্ট করব।
৩১/১২ তারিখে...।
সোয়াপ স্পেস তৈরি
বলা হয় এটি ব্যবহার করা উচিত নয়, তবে এটি সহজ, তাই আমি এটি দিয়েই করব।
ধারণাগতভাবে, ডিস্কে fallocate ব্যবহার করে বলা হবে যে "আমি এখান থেকে এই পর্যন্ত স্থান ব্যবহার করব", তারপর mkswap দিয়ে এটিকে ভার্চুয়াল মেমরি হিসাবে ব্যবহার করার জন্য ফরম্যাট করা হবে, যেমন mkfs একটি ফাইল সিস্টেম তৈরি করে, এবং তারপর swapon ব্যবহার করে এই এলাকাটিকে Swap এলাকা হিসাবে ব্যবহার করা হবে, যেমন mount। এইরকম একটি ধারণা।
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
free -h দিয়ে পরীক্ষা করুন
$ free -h
total used free shared buff/cache available
Mem: 1.9Gi 736Mi 202Mi 4.3Mi 1.1Gi 1.2Gi
Swap: 4.0Gi 621Mi 3.4Gi
এটি একটি টাইট সার্ভার, তাই এটি প্রয়োজনীয়...
স্থায়ীকরণ
আমি তৈরি করা সোয়াপ ফাইলটি স্টার্টআপে লোড করে এটিকে স্থায়ী করব।
sudo echo "/swapfile none swap sw 0 0" >> /etc/fstab
এটি সফলভাবে সম্পন্ন হয়েছে।
ইতিমধ্যে ৩১শে ডিসেম্বর... আমি কী করছি, কে জানে... (;´д`)টোওহোওহো...
একটু ব্যাখ্যা
যারা ভাবছেন সোয়াপ স্পেস আসলে কী?
কম্পিউটারগুলি অস্থায়ীভাবে ডেটা সংরক্ষণের জন্য RAM নামক একটি জিনিসে রাখে।
অবশ্য, CPU-তেও প্রাইমারি (L1) ক্যাশে এবং সেকেন্ডারি (L2) ক্যাশে থাকে, তবে এটি আরও নিম্ন-স্তরের বিষয় এবং প্রোগ্রামিংয়ে সাধারণত এটি সম্পর্কে সচেতন হওয়ার প্রয়োজন হয় না।
এবং তাই, প্রোগ্রামগুলির জন্য আলাদা স্টোরেজ এলাকা হিসাবে /tmp-এর মতো অস্থায়ী ফাইল সংরক্ষণের জন্য ডিরেক্টরিও রয়েছে। এগুলি RAM-এ রেকর্ড করা হয় এবং খুব দ্রুত হয়, তবে RAM একটি অস্থির মেমরি, তাই বিদ্যুৎ চলে গেলে, অর্থাৎ রিবুট করার সময় এগুলি মুছে যায়।
এভাবে প্রোগ্রামগুলি RAM এলাকায় সংরক্ষণ করা হয়, তবে যদি এই এলাকা অতিক্রম করে যায়, তবে এটি পূর্ণ হয়ে যায় এবং আটকে যায়। তাই, এই সোয়াপ ফাইল এলাকাটিকে এক ধরণের সরিয়ে নেওয়ার গন্তব্য হিসাবে তৈরি করে, আপনি RAM-এ লেখা যায় না এমন ডেটা অফলোড করতে পারেন।
তবে, এটি শেষ পর্যন্ত একটি ভার্চুয়াল মেমরি এলাকা, তাই এটি একটি এলাকা যা RAM-এর মতো দেখানোর জন্য ডিস্কে বিদ্যমান।
এটি HDD হলে HDD-তে, এবং SSD হলে SSD-তে তৈরি হয়।
এটি কিছুটা হার্ডওয়্যার-ভিত্তিক চিন্তা, তবে RAM-এ লেখা মূলত দ্রুত অনেক ফাইল পরিচালনা করার জন্য, তাই এটি ডিস্কের উপর চাপ সৃষ্টি করতে পারে, এর আয়ু কমাতে পারে এবং ডিস্ক I/O বাড়াতে পারে। অতএব, সবচেয়ে ভালো কাজ হল প্রচুর RAM লোড করা।
কিন্তু, এমন সমৃদ্ধ পরিবেশ ঈর্ষণীয়, তাই না?
এখনও মাদারবোর্ডের মেমরি স্লটগুলি লো-এন্ডের জন্য 2টি এবং মিড-রেঞ্জের জন্য 4টি থাকে, যা একেবারেই পরিবর্তিত হয়নি।