আপনি কীভাবে ইসি 2 দৃষ্টান্তের সাথে অদলবদল যুক্ত করবেন?


293

আমি বর্তমানে একটি ই সি 2 মাইক্রো উদাহরণ চালাচ্ছি এবং আমি সন্ধান করেছি যে ঘটনাটি মাঝে মাঝে স্মৃতি থেকে সরে যায়।

আরও বড় আকারের আকার ব্যবহার করা ছাড়া আর কী করা যায়?

উত্তর:


574

এই সমস্যার জন্য একটি সমাধান হ'ল দৃষ্টান্তে স্থান 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 = ...", বিএস = 1 এম এবং গণনা = 1024 কারণ আমি কখনই, যুক্তি তালিকায় এবং এর = দেখিনি।
レ ッ ク ス

31
ifঅর্থ 'ইনপুট ফাইল', ofঅর্থ 'আউটপুট ফাইল', bsঅর্থ 'ব্লক সাইজ' এবং countআপনি যে পরিমাণ ব্লক বরাদ্দ করতে চান তা হ'ল ... আপনি manআরও তথ্যের জন্য কমান্ডের পৃষ্ঠাটি পড়তে পারেন : linux.die.net/man/1/ ডিডি
ফেবিও বাতিস্তা

4
এই ডিডি কমান্ড লাইনটির অর্থ "/ dev / শূন্য থেকে /var/swap.1 এ অনুলিপি করুন size আকার 1 মেগাবাইটের 1024 ব্লক পড়ে এটি করুন"। জিরো পূর্ণ 1 জিবি ফাইল তৈরি করার এটি একটি দ্রুত উপায়।
নেলসন

3
যথেষ্ট পুরানো, তবে আমার অদলবদলের স্মৃতি পুনরায় চালু হওয়ার পরেও 0% ব্যবহৃত হয়, কোন সাহায্য?
গিরধারী অগ্রওয়াল

3
আপনি যদি $> free -m
অদলবদ

216

ইবিএস ডিভাইস নয় বরং ইনস্ট্যান্স স্টোরেজ (ইফেমেরাল) ডিস্কে অদলবদল হওয়া উচিত। অদলবদল অনেকগুলি আইওর কারণ ঘটবে এবং ইবিএসের জন্য ব্যয় বাড়বে। ইবিএস ইনস্ট্যান্স স্টোরের থেকেও ধীরে ধীরে এবং ইনস্ট্যান্স স্টোরটি নির্দিষ্ট ধরণের ইসি 2 উদাহরণ সহ বিনামূল্যে আসে ।

এটি সাধারণত / mnt এ মাউন্ট করা হবে তবে চালানো না হলে

sudo mount /dev/xvda2 /mnt

তারপরে এই ডিভাইসে একটি অদলবদল তৈরি করতে 4 জিবি সোয়াফিল ফাইলের জন্য নিম্নলিখিতটি করুন

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

আপনার / ইত্যাদি / fstab এ নিম্নলিখিতগুলি রয়েছে তা যোগ করুন / নিশ্চিত করুন

/dev/xvda2      /mnt    auto    defaults,nobootwait,comment=cloudconfig 0   2
/mnt/swapfile swap swap defaults 0 0

শেষ পর্যন্ত অদলবদল সক্ষম করুন

sudo swapon -a

6
এটি অবশ্যই সবচেয়ে বিস্তৃত উত্তর ইমো
জোন বি

4
একটি ফাইল সিস্টেম মাউন্ট করার জন্য একটি অবশ্যই ফাইল সিস্টেমের ধরণ নির্দিষ্ট করতে হবে। ফাইল সিস্টেমটি সন্ধানের জন্য কমান্ডটি হ'ল: f df -T এটি আপনাকে ডিভাইস এবং তাদের ফাইল সিস্টেমগুলি প্রদর্শন করবে। প্রায়শই ext4। আমার জন্য এটি ছিল, / dev / xvda1 না 2.
user1452686

8
ডকস.আও.এস.এমাজন / এডাব্লুএসইসি 2 / স্লেস্ট / ইউজারগুইড / এর মতে ইন্সট্যান্স স্টোরগুলিকে টি 1 / টি 2 উদাহরণগুলিতে যুক্ত করা আর সম্ভব নয়। নির্বিশেষে চেষ্টা করার পরে, এটি সঠিক বলে মনে হবে।
মাটনউপ

3
@alfetopito আপনি সম্ভবত সম্ভবত অন্য একটি পার্টিশনকে অদলবদল হিসাবে যুক্ত করার পরিবর্তে একটি বিদ্যমান পার্টিশনে আক্ষরিক swapfile তৈরি করতে পারেন।
Centos

1
অ্যামাজন অনুসারে, এটি পুনরায় বুটের পরে আপনার ইনস্টলেন্স স্টোরেজ রাখার নিশ্চয়তা নেই, fstab কি তখন ব্যর্থ হবে না?
সন্ধি হয়েছে

42

অজ্ট্রিচার্ডস দ্বারা উল্লিখিত পদক্ষেপগুলি প্রয়োগ করার পরে আপনি পরীক্ষা করতে পারবেন আপনার অ্যামাজন ফ্রি টায়ার উদাহরণটি এই কমান্ডটি ব্যবহার করে অদলবদল করছে কিনা?

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

40

এই কমান্ডগুলির সাহায্যে আপনি আপনার উদাহরণে 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.micro উদাহরণে কাজ করে তা নিশ্চিত করতে পারে। আমি আমার @ / এমএনটি / অদলবদল করেছিলাম যদিও আমার পরিষ্কার রুটটি পছন্দ।
মাইক পার্সেল

1
এই উত্তরটিকে অগ্রাহ্য করা হয়েছে কারণ এটি সবচেয়ে সংক্ষিপ্ত এবং কাজটি করে। তবে swapfile chmod 600 কমান্ড যুক্ত করা উচিত।
সাবার

15

আপনার উপর হন t2দৃষ্টান্ত ( t2.micro, t2.medium, t2.small), কোন ক্ষণজীবী বা উদাহরণস্বরূপ আপনার জন্য উপলব্ধ স্টোরেজ হয়। সুতরাং আপনাকে কেবল আপনার অদলবদল তৈরি করতে হবে EBSযা আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে একটি ভাল ধারণা হতে পারে বা নাও পারে। অন্যথায় @ ডেভিডের উত্তর অনুসরণ করুন, এবং ইবিএসের ব্যয়টি এড়াতে সাময়িক স্টোরেজে আপনার অদলবদল তৈরি করুন।

আরও তথ্য: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html একটি টেবিল রয়েছে যা দেখায় যে প্রতিটি উদাহরণের জন্য আপনি কতটা সাময়িক স্টোরেজ পাবেন।


1
এটি সাধারণত একটি খারাপ ধারণা নিশ্চিত করতে পারে। আপনার যদি এমন একটি প্রক্রিয়া থাকে যা দুর্বৃত্ত হয় (আমার কাছে নোড সার্ভারটি ছিল এবং একটি অজগর / সেলারি সেটআপ ছিল), আপনি আপনার অজান্তেই পুরো সপ্তাহে আপনার ইবিএস ব্লকে যখন পড়েন এবং লিখেন তখন আপনাকে চার্জ দিতে হবে: -)
ZachM

3
Aws.amazon.com/ebs/pricing অনুযায়ী আইও প্রভিশনেড আইপিওএস এসএসডি (আইও 1) ব্যতীত সমস্ত ইবিএস ভলিউমে অন্তর্ভুক্ত রয়েছে। আপনি কেবল প্রতি জিবি দামের মডেলটিতে এটি সাম্প্রতিক পরিবর্তন হতে পারে - তবে এর অর্থ হ'ল সত্য ইন্সট্যান্স স্টোরসের চেয়ে ইবিএস অনেক ধীরে ধীরে হলেও পড়া এবং লেখার জন্য কোনও অতিরিক্ত চার্জ নেই।
ববসোপ

@ বুবসাপ আপনি কি তা পরিষ্কার করতে আপত্তি করবেন? আমি আপনার লিঙ্কটি পরীক্ষা করেছি এবং এটি খুঁজে পেয়েছি 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.। যা দেখে মনে হয় যে এডাব্লুএস পড়া এবং লেখার ক্রিয়াকলাপের জন্য চার্জ করবে।
ভালটার সিলভা

2
@ ভ্যালটারহেনরিক আপনি যে পাঠ্যটি উদ্ধৃত করেছেন সেটি কেবলমাত্র আইওপিএসের সাথে খণ্ডের ক্ষেত্রে প্রযোজ্য, তবে আপনার বেশ কয়েকটি ডিফেরেন্ট ভলিউম ধরণের মধ্যে পছন্দ রয়েছে। যদি আপনি বিযুক্ত আইওপিএস ছাড়াই একটি "সাধারণ" ভলিউম ব্যবহার করেন (সাধারণ-উদ্দেশ্যে এসএসডি ভলিউম ধরণের "" জিপি 2 "বলে), পড়ুন এবং লেখার ক্রিয়াকলাপগুলি অতিরিক্ত চার্জ করা হয় না। তুলনা করার জন্য আরও ভাল লিঙ্ক হতে পারে: aws.amazon.com/ebs/details
bobsoap

8

আপনি নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে অদলবদল তৈরি করতে পারেন এখানে আমরা স্ব্যাপটি তৈরি করছি /home/

  1. dd if=/dev/zero of=/home/swapfile1 bs=1024 count=8388608
    এখানে গণনাটি সোয়াপ স্পেসের কিলোবাইট গণনা

  2. mkswap /home/swapfile1

  3. vi /etc/fstab
    প্রবেশ করুন:
    /home/swapfile1 swap swap defaults 0 0

  4. সঞ্চালন করুন:
    swapon -a


4

আমরা যে কোনও সার্ভারে অদলবদল স্পেস যুক্ত করতে পারি

dd কমান্ড ব্যবহার করে একটি ফাইল তৈরি করুন

 #dd if=/dev/zero of=/swapfile bs=1M count=2048
                    or
 #dd if=/dev/zero of=/swapfile bs=1024M count=2

বিএস ব্লকসাইজ এবং গণনাটি এমবি বা জিবি আকারকে বোঝায়

আমরা তদ্বিপরীত ব্যবহার করতে পারেন

তৈরির পরে ফাইলের অনুমতি পরিবর্তন করুন:

 #chmod 600 /swapfile 

তারপরে ফাইলটি পরিবর্তন করুন:

 #mkswap /swapfile 

তারপরে স্বপন কমান্ডের সাহায্যে অদলবদলটি সক্ষম করুন:

 #swapon  /swapfile 

অদলবদ সক্ষম হয়েছে কি না তা বিনামূল্যে কমান্ড দিয়ে পরীক্ষা করুন:

 #free -h
 #swapon -s

3

ডেভিডের ইনস্ট্যান্স স্টোরেজ উত্তরটি প্রাথমিকভাবে আমার জন্য কাজ করেছে (একটি এম 5 ডি 2 এক্স্লারজে) তবে ইসি 2 ইনস্ট্যান্স বন্ধ করে এবং এটি আবার চালু করার পরে, আমি আবার এই দৃষ্টান্তটিতে প্রবেশ করতে পারিনি।

উদাহরণটি লগগুলি জানিয়েছে: "আপনি জরুরী মোডে রয়েছেন log রক্ষণাবেক্ষণের জন্য"

পরিবর্তে আমি এই লিঙ্কটিতে অ্যাডাব্লুএস নির্দেশাবলী অনুসরণ করেছি এবং উদাহরণটি বন্ধ করে দেওয়ার পরে এবং সবকিছু সহ পুরোপুরি কাজ করেছে।

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

1

স্ব্যাপস্পেসটি http://pqxx.org/de વિકાસment/swapspace/ ব্যবহার করে দেখুন

বেশিরভাগ ডিস্ট্রো এটি প্যাকেজ করেছে।

ইসি 2 এ আপনি "স্বাপথ" / এমএনটি বা উচ্চ-আইপস ডিস্কে পরিবর্তন করতে পারেন।


1
দস্তাবেজগুলি থেকে: "বর্তমান রূপে, স্ব্যাপস্পেস সম্ভবত এমন সিস্টেমগুলির পক্ষে ভাল পছন্দ নয় যা সর্বদা প্রতিক্রিয়াশীল থাকতে হবে;"
ডেভ অ্যালবার্ট

-3

অ্যামাজন লিনাক্সে অদলবদল যুক্ত করতে আপনি নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করতে পারেন।

https://github.com/chetankapoor/swap

উইজেট ব্যবহার করে স্ক্রিপ্টটি ডাউনলোড করুন:

wget https://raw.githubusercontent.com/chetankapoor/swap/master/swap.sh -O swap.sh

তারপরে স্ক্রিপ্টটি নিম্নলিখিত বিন্যাসে চালিত করুন:

sh swap.sh 2G

একটি সম্পূর্ণ টিউটোরিয়াল জন্য আপনি দেখতে পারেন:

https://installvirtual.com/shell-script-to-create-swap/


এই উত্তরটি কী কী অবদান রাখছে তা আমি দেখতে পাচ্ছি না, কেবল শেলসক্রিপ্ট হওয়া ছাড়াও গ্রহণযোগ্য উত্তরটি ইতিমধ্যে যা ব্যাখ্যা করেছে তা করে।
নীলস ওয়ার্নার

আমি সবেমাত্র একটি শেল স্ক্রিপ্ট তৈরি করেছি এটির সময় সাশ্রয় হয় তাই 5 টি কমান্ড চালানোর পরিবর্তে অদলবদল তৈরি করতে 2 পদক্ষেপ থাকবে এবং যদি ইতিমধ্যে অদলবদল উপস্থিত থাকে তবে এটি আপনাকে অদলবদল ইতিমধ্যে উপস্থিত দেখায়।
চেতন কাপুর

3
যথাযথভাবে। শেলস্ক্রিপ্ট যা আমার মূল হিসাবে চালানোর কথা। কারও দ্বারা তৈরি, কোথাও, এটি কোনও বিজ্ঞপ্তি ছাড়াই পরিবর্তন বা অদৃশ্য হয়ে যেতে পারে। 4-5 কমান্ড লাইনগুলি সংরক্ষণ করার জন্য যা 5 বছর আগে পোস্ট এবং গৃহীত হয়েছিল।
নিলস ওয়ার্নার 14 ই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.