मैं वर्तमान में एक ec2 माइक्रो इंस्टेंस चला रहा हूं और मुझे लग रहा है कि इंस्टेंस कभी-कभार मेमोरी से बाहर चला जाता है।
बड़ा उदाहरण आकार का उपयोग करने के अलावा, और क्या किया जा सकता है?
मैं वर्तमान में एक ec2 माइक्रो इंस्टेंस चला रहा हूं और मुझे लग रहा है कि इंस्टेंस कभी-कभार मेमोरी से बाहर चला जाता है।
बड़ा उदाहरण आकार का उपयोग करने के अलावा, और क्या किया जा सकता है?
जवाबों:
इस समस्या के लिए एक समाधान उदाहरण के लिए swap
(यानी paging
) स्थान जोड़ने के लिए है।
पेजिंग आपकी हार्ड ड्राइव पर एक क्षेत्र बनाकर और अतिरिक्त मेमोरी के लिए इसका उपयोग करके काम करता है, यह मेमोरी सामान्य मेमोरी की तुलना में बहुत धीमी है, हालांकि यह बहुत अधिक उपलब्ध है।
आपके द्वारा टाइप किए गए इस अतिरिक्त स्थान को जोड़ने के लिए:
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo chmod 600 /var/swap.1
sudo /sbin/swapon /var/swap.1
यदि आपको 1024 से अधिक की आवश्यकता है तो उसे कुछ उच्च में बदल दें।
रिबूट के बाद डिफ़ॉल्ट रूप से सक्षम करने के लिए, इस लाइन को / etc / fstab में जोड़ें:
/var/swap.1 swap swap defaults 0 0
if
'इनपुट फ़ाइल' का of
अर्थ है , 'आउटपुट फ़ाइल', bs
जिसका अर्थ है 'ब्लॉक साइज' और count
वह संख्या है जिसे आप आवंटित करना चाहते हैं ... आप man
अधिक जानकारी के लिए कमांड के पेज को पढ़ सकते हैं : linux.die.net/man/1/ dd
$> free -m
स्वैप इंस्टेंस स्टोरेज (पंचांग) डिस्क पर होना चाहिए न कि ईबीएस डिवाइस पर। स्वैपिंग से बहुत IO पैदा होगा और EBS पर लागत बढ़ेगी। EBS भी Instance Store से धीमा है और Instance Store कुछ प्रकार के EC2 इंस्टेंस के साथ मुफ़्त आता है ।
यह आमतौर पर / mnt पर आरोहित किया जाएगा, लेकिन अगर नहीं चलाया जाता है
sudo mount /dev/xvda2 /mnt
तब इस डिवाइस पर एक स्वैप फाइल बनाने के लिए 4GB स्वैप के लिए निम्न कार्य करें
sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=4096
सुनिश्चित करें कि कोई अन्य उपयोगकर्ता स्वैप फ़ाइल नहीं देख सकता है
sudo chown root:root /mnt/swapfile
sudo chmod 600 /mnt/swapfile
स्वैप के रूप में बनाओ और झंडा
sudo mkswap /mnt/swapfile
sudo swapon /mnt/swapfile
जोड़ें / सुनिश्चित करें कि निम्नलिखित आपके / etc / fstab में हैं
/dev/xvda2 /mnt auto defaults,nobootwait,comment=cloudconfig 0 2
/mnt/swapfile swap swap defaults 0 0
अंत में स्वैप सक्षम करें
sudo swapon -a
Ajtrichards द्वारा बताए गए चरणों को लागू करने के बाद आप जांच सकते हैं कि क्या आपका amazon free tier उदाहरण इस कमांड का उपयोग करके स्वैप का उपयोग कर रहा है
cat /proc/meminfo
परिणाम:
ubuntu@ip-172-31-24-245:/$ cat /proc/meminfo
MemTotal: 604340 kB
MemFree: 8524 kB
Buffers: 3380 kB
Cached: 398316 kB
SwapCached: 0 kB
Active: 165476 kB
Inactive: 384556 kB
Active(anon): 141344 kB
Inactive(anon): 7248 kB
Active(file): 24132 kB
Inactive(file): 377308 kB
Unevictable: 0 kB
Mlocked: 0 kB
स्वपोटल: 1048572 केबी
स्वैफ्री: 1048572 केबी
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 148368 kB
Mapped: 14304 kB
Shmem: 256 kB
Slab: 26392 kB
SReclaimable: 18648 kB
SUnreclaim: 7744 kB
KernelStack: 736 kB
PageTables: 5060 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1350740 kB
Committed_AS: 623908 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 7420 kB
VmallocChunk: 34359728748 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 637952 kB
DirectMap2M: 0 kB
आप इन आदेशों के साथ अपने उदाहरण में 1 जीबी स्वैप जोड़ सकते हैं:
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo mkswap /swapfile
sudo swapon /swapfile
रिबूट के बाद डिफ़ॉल्ट रूप से सक्षम करने के लिए, इस पंक्ति को इसमें जोड़ें /etc/fstab
:
/swapfile swap swap defaults 0 0
/swapfile
। लेकिन आप दूसरी फाइलसिस्टम को भी माउंट कर सकते हैं और वहां स्वैप फाइल बना सकते हैं, जैसे /mnt/blah/swapfile
।
आप पर हैं, तो t2
उदाहरणों ( t2.micro
, t2.medium
, t2.small
), कोई अल्पकालिक या उदाहरण आप के लिए उपलब्ध भंडारण है। तो आपको बस अपना स्वैप बनाने की आवश्यकता है EBS
जिसमें आपके उपयोग के मामले के आधार पर एक अच्छा विचार हो सकता है या नहीं हो सकता है। अन्यथा @ डेविड के उत्तर का पालन करें, और ईबीएस की लागत का भुगतान करने से बचने के लिए अल्पकालिक भंडारण पर अपना स्वैप बनाएं।
अधिक जानकारी: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html एक तालिका है जो बताती है कि प्रत्येक उदाहरण के प्रकार के लिए आपको कितना अल्पकालिक संग्रहण मिलता है।
For example, if you provision a volume with 1000 IOPS, and keep this volume for 15 days in a 30 day month, then in a Region that charges $0.10 per provisioned IOPS-month, you would be charged $50 for the IOPS that you provision ($0.10 per provisioned IOPS-month * 1000 IOPS provisioned * 15 days/30). You will be charged for the IOPS provisioned on a volume even when the volume is detached from an instance.
। जिससे लगता है कि AWS संचालन और पढ़ने के लिए शुल्क लेगी।
आप निम्न चरणों का उपयोग करके स्वैप स्थान बना सकते हैं यहां हम स्वैप बना रहे हैं /home/
dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608
यहाँ गिनती स्वैप स्थान की किलोबाइट गिनती है
mkswap /home/swapfile1
vi /etc/fstab
प्रविष्टि करें:
/home/swapfile1 swap swap defaults 0 0
Daud:
swapon -a
हम किसी भी सर्वर में स्वैप स्पेस जोड़ सकते हैं
dd कमांड का उपयोग करके एक फाइल बनाएं
#dd if=/dev/zero of=/swapfile bs=1M count=2048
or
#dd if=/dev/zero of=/swapfile bs=1024M count=2
bs blockize है और गिनती MB या GB में आकार को संदर्भित करता है
हम इसके विपरीत का उपयोग कर सकते हैं
निर्माण के बाद फ़ाइल की अनुमति बदलें:
#chmod 600 /swapfile
फिर फ़ाइल बनाता है:
#mkswap /swapfile
फिर स्वैप फाइल को स्वेपन कमांड से सक्षम करें:
#swapon /swapfile
मुफ्त कमांड के साथ जांचें कि क्या स्वैप सक्षम है या नहीं:
#free -h
#swapon -s
डेविड के इंस्टेंस स्टोरेज जवाब का उपयोग करते हुए शुरू में मेरे लिए (एक m5d.2xlarge पर) काम किया, हालांकि, EC2 इंस्टेंस को रोकने और इसे वापस चालू करने के बाद, मैं फिर से इंस्टेंस पर ssh करने में असमर्थ था।
उदाहरण लॉग में बताया गया है: "आप आपातकालीन मोड में हैं। लॉग इन करने के बाद, सिस्टम लॉग देखने के लिए" जर्नलक्टल -xb "टाइप करें, रिबूट करने के लिए" सिस्टमक्टल रिबूट "," सिस्टमैक्टल डिफॉल्ट "या" एक्जिट "को डिफ़ॉल्ट मोड में बूट करने के लिए दबाएं। रखरखाव के लिये"
मैंने इसके बजाय इस लिंक में AWS के निर्देशों का पालन किया और सब कुछ पूरी तरह से काम किया, जिसमें उदाहरण बंद करने के बाद और फिर से शामिल थे।
https://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
sudo vi /etc/fstab
/swapfile swap swap defaults 0 0
स्वेपस्पेस आज़माएं http://pqxx.org/development/swapspace/
अधिकांश डिस्ट्रोस ने इसे पैक किया है।
EC2 पर आप "swappath" को / mnt या हाई-आयप्स डिस्क में बदलना चाहते हैं।
अमेज़ॅन लिनक्स पर स्वैप जोड़ने के लिए आप निम्न स्क्रिप्ट का उपयोग कर सकते हैं।
https://github.com/chetankapoor/swap
Wget का उपयोग करके स्क्रिप्ट डाउनलोड करें:
wget https://raw.githubusercontent.com/chetankapoor/swap/master/swap.sh -O swap.sh
फिर स्क्रिप्ट को निम्न प्रारूप के साथ चलाएं:
sh swap.sh 2G
पूर्ण ट्यूटोरियल के लिए आप यहां जा सकते हैं: