ब्लॉग का हेट्ज़नर सर्वर माइग्रेशन और स्वैप क्षेत्र निर्माण
नमस्ते, मैं अक्षम हूँ।
मैं Hetzner सर्वर पर माइग्रेट करने में सक्षम था, लेकिन मैं deno task lume के साथ अटका हुआ था। फिर, top को देखते हुए, मैंने पाया कि मेमोरी खत्म हो गई थी।
तो, मैं वर्चुअल मेमोरी बनाऊंगा और उसे माउंट करूंगा।
31/12 को...
स्वैप क्षेत्र बनाना
कहा जाता है कि इसका उपयोग नहीं करना चाहिए, लेकिन यह आसान है, इसलिए मैं इसी के साथ आगे बढ़ूंगा।
एक तरह से, यह ऐसा है जैसे 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
यह सफलतापूर्वक हो गया।
यह पहले से ही 31 दिसंबर है... मैं खुद क्या कर रहा हूँ... (;´д`)टोहोहो...
थोड़ा स्पष्टीकरण
उन लोगों के लिए जो नहीं जानते कि स्वैप क्षेत्र क्या है?
कंप्यूटर अस्थायी रूप से मेमोरी को RAM नामक चीज़ में संग्रहीत करते हैं।
CPU में प्राथमिक (L1) कैश और द्वितीयक (L2) कैश भी होते हैं, लेकिन यह एक निम्न-स्तरीय विषय है और आमतौर पर प्रोग्रामिंग में इसके बारे में जागरूक होने की आवश्यकता नहीं होती है।
और इस प्रकार, प्रोग्रामों के लिए एक अलग मेमोरी क्षेत्र के रूप में /tmp जैसी अस्थायी फ़ाइलों को संग्रहीत करने के लिए निर्देशिकाएँ भी मौजूद हैं। इन्हें RAM पर रिकॉर्ड किया जाता है और ये बहुत तेज़ होते हैं, लेकिन RAM अस्थिर मेमोरी है, इसलिए बिजली जाने पर, यानी रीबूट होने पर, यह मिट जाती है।
प्रोग्राम इस तरह RAM क्षेत्र में संग्रहीत होते हैं, लेकिन यदि यह क्षेत्र भर जाता है और अटक जाता है, तो इस स्वैप फ़ाइल क्षेत्र को एक प्रकार के निकासी गंतव्य के रूप में बनाकर, आप उस डेटा को ऑफलोड कर सकते हैं जिसे RAM में नहीं लिखा जा सकता है।
हालांकि, यह अंततः एक वर्चुअल मेमोरी क्षेत्र है, इसलिए यह एक ऐसा क्षेत्र है जो डिस्क पर मौजूद है और RAM जैसा दिखता है।
यह HDD पर बनाया जाता है यदि आपके पास HDD है, या SSD पर यदि आपके पास SSD है।
यह थोड़ा हार्डवेयर-उन्मुख विचार है, लेकिन मूल रूप से, RAM में लिखना कई फाइलों को तेज़ी से संभालता है, इसलिए यह डिस्क पर ही लोड डाल सकता है, जिससे उसकी उम्र कम हो सकती है, या डिस्क I/O बढ़ सकता है। इसलिए, सबसे अच्छी बात RAM को बढ़ाना है।
लेकिन, ऐसा समृद्ध वातावरण ईर्ष्यापूर्ण है, है ना?
यह अभी भी वही है कि मदरबोर्ड मेमोरी स्लॉट लो-एंड के लिए 2 और मिड-रेंज के लिए 4 होते हैं, जो बिल्कुल भी नहीं बदला है।