सवाल ईसी 2 उबंटू छवियों ने स्वैप क्यों नहीं किया है?


मैंने ईसी 2 पर कुछ सर्वर शुरू किए और उनके पास स्वैप नहीं है।

क्या मैं कुछ गलत कर रहा हूं या यह है कि मशीनों के पास कोई नहीं है?


74
2018-01-04 21:53


मूल


मैंने यह भी सोचा, लेकिन मैंने अभी एक ईबीएस इंस्टेंस स्थापित किया है, इसे स्वैप के रूप में स्वरूपित किया है, और स्वैपॉन / देव / एसडीजी ... - Tom O'Connor
एसएसडी ड्राइव पर स्वैप सेट अप करने के लिए लिनक्स सिस्टम पर एसएसडी ड्राइव का उपयोग करने का मामला भी सामान्य है। अधिकतर क्योंकि कुछ लोग पागल हैं, यह हर समय क्षेत्रों के एक ही सेट को ड्रिल करके एसएसडी के भंडारण जीवन पर नकारात्मक प्रभाव डालता है। - djangofan
क्या एएमआई और कौन सा ईसी 2 उदाहरण आकार। एएमआई को एक स्वैप विभाजन का उपयोग करने के लिए कॉन्फ़िगर करने की आवश्यकता है और उदाहरण के दौरान इंस्टेंस को इसे जोड़ना होगा। - Jeremy Bouse
यदि संभव हो, तो मैं सलाह देता हूं कि ईसी 2 पर स्वैप का उपयोग न करें जब तक कि आप 99% निश्चित न हों, आपको इसका उपयोग नहीं करना पड़ेगा (आईई। यह केवल आपातकाल के लिए है)। जब हमने अपने कुछ ईसी 2 उदाहरणों पर स्वैप अक्षम कर दिया तो हमारी मासिक ईबीएस आईओ लागत शायद कम हो गई। बस दो सेंटों को बचाने के लिए मेरे दो सेंट - हाँ वह भयानक था, मैं क्षमा चाहता हूं और एक कोने में छुपा जाऊंगा;) - Smudge
आप इन चरणों में भी देख सकते हैं docs.aws.amazon.com/AWSEC2/latest/UserGuide/... - Artem.Borysov


जवाब:


आप सही हैं, उबंटू ईसी 2 ईबीएस छवियों को स्वैप स्थान के साथ कॉन्फ़िगर नहीं किया गया है (के लिए 11.04 कम से कम)। "नियमित" उदाहरण-प्रकार की छवियों में एक स्वैप विभाजन होता है, यद्यपि मैंने परीक्षण किए गए केवल 896 एमबी पर।

अगर कुछ प्रक्रिया उड़ाती है और आपके पास स्वैप स्पेस नहीं है, तो ओओएम हत्यारा आने से पहले आपका सर्वर एक अच्छा रुकने के लिए आ सकता है, जबकि स्वैप के साथ, यह केवल धीमा हो जाता है। इसी कारण से, मैं हमेशा पर्याप्त RAM के साथ, स्वैप स्थान लेना पसंद करता हूं। यहां आपके विकल्प हैं:

  • एक ईबीएस वॉल्यूम बनाएं (अपनी रैम का आकार 2-4 गुना), इसे अपने उदाहरण से संलग्न करें (मुझे इसे "स्मृति" के लिए / dev / xvdm को कॉल करना पसंद है) sudo mkswap /dev/xvdm, इसे fstab में जोड़ें, sudo swapon -a, और आप जाने के लिए अच्छे हैं। मैंने पहले यह किया है और यह ठीक काम करता है, लेकिन यह शायद इंस्टेंस स्टोर की तुलना में थोड़ा धीमा है क्योंकि यह नेटवर्क पर चला जाता है।

  • या आप एक स्वैप विभाजन जोड़ने के लिए अपनी डिस्क को दोबारा विभाजित करने में सक्षम हो सकते हैं, हालांकि इसे एक नया एएमआई बनाने की आवश्यकता हो सकती है। मैं इसे चलने वाले उदाहरण में करने में सक्षम नहीं हूं, क्योंकि मैं रूट फ़ाइल सिस्टम को अनमाउंट नहीं कर सकता, और मेरे पास डिस्क डिवाइस (/ dev / xvda) तक पहुंच भी नहीं है, केवल विभाजन (xvda1)।

  • या आप एक स्वैप फ़ाइल बना सकते हैं। यह अभी मेरा पसंदीदा समाधान है।

    sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048 &&
    sudo chmod 600 /var/swapfile &&
    sudo mkswap /var/swapfile &&
    echo /var/swapfile none swap defaults 0 0 | sudo tee -a /etc/fstab &&
    sudo swapon -a
    

    किया हुआ। :) मुझे पता है कि बहुत से लोग विभाजन के बजाय फ़ाइलों का उपयोग करने के बारे में चिंतित महसूस करते हैं, लेकिन यह निश्चित रूप से आपातकालीन स्वैप स्थान के रूप में पर्याप्त रूप से काम करता है।


70
2018-06-12 14:46



ईबीएस वॉल्यूम पर स्वैपिंग के परिणामस्वरूप अतिरिक्त लागत हो सकती है, जैसा कि अन्य उत्तरों द्वारा इंगित किया गया है। स्वैप का उपयोग नहीं करना, या एक इंस्टेंस स्टोर में स्वैपिंग बेहतर समाधान की तरह लग रहा है। - isuldor
इंस्टेंस स्टोर का उपयोग करना ईबीएस की तुलना में बेहतर विकल्प है। ईबीएस एक नेटवर्क फाइल सिस्टम है, इसलिए ईसी 2 इंस्टेंस से उसी नेटवर्क कनेक्शन पर अन्य सभी चीज़ों के साथ जुड़ता है। इंस्टेंस स्टोर उस हार्डवेयर से जुड़ा हुआ है जो आवृत्ति होस्ट कर रहा है (यही कारण है कि जब आप रुकते हैं और अपना उदाहरण शुरू करते हैं तो यह तब तक नहीं टिकता है)। एकमात्र समय जब ईबीएस स्वैप के लिए एक विकल्प है, तब आप एक इंस्टेंस प्रकार का उपयोग कर रहे हैं जो इंस्टेंस स्टोरेज यानी नहीं आती है। T1.micro (जो इसे केवल 620 एमबी रैम देता है, वह वास्तव में वह है जिसे वास्तव में आपातकालीन आवश्यकता होती है स्वैप)। - ColtonCat
बीएस = 1 एम पहले से ही बाइनरी नोटेशन में है, इसलिए गिनती = 2048 गुणक गिनती = 2000 होना चाहिए - अगर मैं गलत नहीं हूं। - ypocat
यदि आप 2 जीआईबी के लिए जा रहे हैं, तो 1024 * 2048 सही लगता है। - Jo Liss


स्वैप आईएमएचओ के लिए सबसे अच्छा स्थान इंस्टेंस-स्टोर है। क्यूं कर? एडब्ल्यूएस आपको इंस्टेंस-स्टोर पर i / o के लिए चार्ज नहीं करता है। इसके अलावा, कई मामलों में इंस्टेंस-स्टोर ईबीएस की तुलना में अधिक प्रदर्शनकारी है। बस सुनिश्चित करें कि आपके पास एक स्क्रिप्ट है जो इंस्टेंस को रोकते समय स्वैप फ़ाइल को पुन: प्रयास करती है। रीबूट ठीक हैं। ओह क्यों डिफ़ॉल्ट रूप से नहीं है?

आइए इंस्टेंस-स्टोर का पता लगाएं।

root@domU-**-**-**-**-**-**:/var/log# fdisk -l

[...]

Disk /dev/xvda2: 160.1 GB, 160104972288 bytes
255 heads, 63 sectors/track, 19464 cylinders, total 312705024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda2 doesn't contain a valid partition table

Hurray, 160.1 जीबी मुफ्त में! अपने स्वैप को वहां रखें और प्रति सर्वर 100 $ ओवरेज भूल जाएं जब आपका ईबीएस-आधारित स्वैप गलती से घिरा हो जाता है। दुर्भाग्यपूर्ण अनुभव यहाँ बात कर रहा है।

जाहिर है कुछ मामलों में आपको इंस्टेंस-स्टोर नहीं दिखाई देता है।

इंस्टेंस प्रकार के आधार पर, आपको पहले ब्लॉक-डिवाइस-मैपिंग विकल्पों का उपयोग कर इंस्टेंस स्टोर वॉल्यूम्स को आवृत्ति में संलग्न करने की आवश्यकता है। यदि आप ऐसा नहीं करते हैं, तो आप डिवाइस के रूप में / dev (के अनुसार) को भी नहीं देख सकते हैं अमेज़ॅन ईसी 2 में "इंस्टेंस स्टोर वॉल्यूम्स" स्टोरेज का उपयोग कैसे करें?)


21
2017-11-24 18:57



बस यह इंगित करना चाहते हैं कि मुक्त स्तर पर t1.micro उपयोगकर्ता इस विकल्प का उपयोग नहीं कर सकते हैं। - Reuben L.


ध्यान दें: अमेज़ॅन ने अपना बदल दिया है मूल्य निर्धारण नीति, और 2016 के मध्य तक I / O अनुरोधों के लिए शुल्क नहीं लेता है। उत्तर ऐतिहासिक कारणों से यहां रखा गया है, लेकिन EC2 EBS- समर्थित उदाहरणों पर स्वैप (या उपयोग नहीं कर रहा) का उपयोग करने की कोई लागत नहीं है।


19
2017-10-21 06:53



यह जवाब थोड़ा भ्रामक या भ्रमित है क्योंकि सबसे आम उदाहरण प्रकार एसएसडी वॉल्यूम्स का उपयोग करते हैं। aws.amazon.com/ec2/instance-types - Taylor Edmiston
@tedmiston: वास्तव में, यह उत्तर अब लागू नहीं है। मैंने नई वास्तविकता को प्रतिबिंबित करने के लिए समायोजित किया है, लेकिन मूल रूप से I / O अनुरोधों के लिए कोई शुल्क नहीं है, इसलिए स्वैप सक्षम करना (या नहीं) अब शुद्ध तकनीकी आधार पर किया जा सकता है। - Gui Ambros


चेक /etc/fstab फ़ाइल, वे शायद आपके द्वारा उपयोग की जा रही छवि में स्वैप किए बिना सेट किए गए थे। मुझे लगता है कि कुछ लोग सर्वर के लिए स्वैप किए बिना दौड़ते हैं क्योंकि वे उम्मीद करते हैं कि कुल स्मृति से अधिक कभी भी उपयोग न करें - स्वैपिंग सब कुछ धीमी गति से बनाता है।

हालांकि, मैं स्मृति में गुब्बारे की कुछ प्रक्रियाओं के बारे में हमेशा पागल हूं, इसलिए मुझे लगता है कि यह एक स्वैप ड्राइव स्थापित करने और चल रहे ec2 इंस्टेंस से एक छवि को फिर से बनाने के लिए समझदार होगा।


1
2018-01-05 21:09



कभी-कभी स्वैपिंग सिस्टम को धीमा नहीं करता है। - laebshade


दौड़ने के लिए एक सरल समाधान swap में EC2 छवियों को चलाने के लिए है swap के साथ संपीड़ित lz4 में ram साथ में zram-init

  • सेवा स्क्रिप्ट के लिए उपलब्ध हैं systemd और openrc

यह समाधान करता है नहीं लेना ram से दूर host:

enter image description here


0
2017-08-24 08:14



बहुत रचनात्मक, लेकिन आपकी रैम का उपयोग वास्तविक रैम के रूप में नहीं कर पाएगा, इसे स्वैप के लिए इन-मेमोरी फ़ाइल-सिस्टम के रूप में उपयोग करने से अधिक समझ में आता है? (जो मुख्य रूप से स्मृति से बाहर होने पर उपयोग किया जाता है) स्वैप बनाने के लिए अनुप्रयोगों के लिए उपलब्ध स्मृति की मात्रा को कम करना counterintuitive लगता है ... - HBruijn
दिलचस्प जवाब, लेकिन मुझे लगता है कि ईबीएस / इंस्टेंस स्टोर का उपयोग करना शायद एक बेहतर सामान्य उद्देश्य समाधान है। मेरे पास 512 एमबी रैम और ईबीएस पर 512 एमबी स्वैप वाला टी 2.एनानो है जो ठीक काम करता है। - Tim