কীভাবে অদলবদল বাড়ানো যায়?


127

আমার কাছে ডিফল্টরূপে উবুন্টুতে 250MB অদলবদল রয়েছে এবং আমি এটি আরও বড় আকারে প্রসারিত করতে চাই। আমার ৮০০ এমবি দরকার, যা আমার মনে হয় বর্তমানের স্যুপের বর্তমান সীমাটি আঘাত না করে বেশ কয়েকটি অ্যাপ্লিকেশন খোলার পক্ষে যথেষ্ট হবে। আশা করি কেউ আমাকে সাহায্য করবে.


2
দয়া করে জিপার্টেড খুলুন এবং আপনি এখানে যা দেখেন তার একটি স্ক্রিনশট পোস্ট করুন।
অ্যারোন হিল

যদি আপনার অদলবদল পার্টিশনটি সংলগ্ন অব্যবহৃত স্থানে প্রসারিত করা যায় তবে ব্যবহার করুন gparted। যদি এই জাতীয় স্থান উপলব্ধ না হয়, সম্ভবত আপনার অ্যাক্টিভ (বুট করা) পার্টিশনটি সমস্ত অ-অদলবদ স্থান ব্যবহার করছে, অতএব অব্যক্ত স্থান gpartedতৈরি করতে আপনাকে সক্রিয় পার্টিশনের আকার হ্রাস করতে দেবে না। এই ক্ষেত্রে আপনি বৃহত্তর অদলবদল তৈরি করতে উবুন্টু পুনরায় ইনস্টল করতে পারেন।
H2ONaCl

উত্তর:


171

আপনি সর্বদা সোয়াপ ফাইল তৈরি করতে পারেন

আরও অদলবদল স্পেস যোগ করতে। এটি অদলবদল বিভাজনের মতো (প্রতিটি ক্ষেত্রে) একই নয় তবে এটি সহজ এবং গতিশীল হবে।

/media/fasthdd/swapfile.imgআপনার পছন্দ মতো যেকোন কিছুতে পরিবর্তন করুন , উদাহরণস্বরূপ এটিও হতে পারে /swap.img/media/fasthdd/swapfile.imgউদাহরণস্বরূপ ফাইলের নাম, যদি আপনি এটি ব্যবহার করে থাকেন তবে অবশ্যই /media/fasthdd/আপনার নতুন অদলবদল ফাইলের জন্য পর্যাপ্ত ফাঁকা জায়গা সহ ডিরেক্টরি থাকতে হবে ।

কমান্ডগুলি চালানোর জন্য যেকোন টার্মিনাল অ্যাপ্লিকেশন ব্যবহার করুন। সমস্ত কমান্ডটি রুট সুবিধাগুলি দিয়ে চালানো উচিত , এটি করতে আপনি হয় sudoপ্রতিটি কমান্ডের শুরুতে যোগ করতে পারেন বা কমান্ড চালানোর sudo bashআগে চালাতে পারেন।

1. খালি ফাইল তৈরি করুন:
এই ফাইলটিতে ভার্চুয়াল মেমরির সামগ্রী থাকবে তাই আপনার প্রয়োজনের জন্য ফাইলটিকে যথেষ্ট বড় করুন big এটি একটি 1 জিবি ফাইল তৈরি করবে যার অর্থ আপনার সিস্টেমের জন্য + 1 জিবি স্ব্যুপ স্থান:

dd if=/dev/zero of=/media/fasthdd/swapfile.img bs=1024 count=1M

আপনি যদি 3 জি বি ফাইল বানাতে চান তবে গণনা মানটি পরিবর্তন করুন count=3M। দেখুন man ddআরও তথ্যের জন্য।

2. বেক অদলবদল ফাইল:
নিম্নলিখিত কমান্ডটি আপনার তাজা স্ব্যাপ ফাইলের মধ্যে "অদলবদল ফাইল সিস্টেম" তৈরি করতে চলেছে।

mkswap /media/fasthdd/swapfile.img

৩. বুট আনুন:
কম্পিউটার বুট করার সময় আপনার নতুন অদলবদল সক্রিয় হয়েছে তা নিশ্চিত করার জন্য আপনার এটিকে ফাইল-সিস্টেম কনফিগারেশন ফাইলটিতে যুক্ত করা উচিত /etc/fstab। এটি ফাইলের শেষের দিকে যুক্ত করুন, এটি সুপারিশ করা হয়েছে কারণ আমরা যে কোনও ফাইল অ্যাক্সেস করতে পারার আগে অন্য ফাইল সিস্টেমগুলি ( কমপক্ষে একটিতে স্ব্যাপ ফাইল রয়েছে ) পড়তে হবে-রাইটিং মোডে মাউন্ট করা আবশ্যক।

# Add this line to /etc/fstab
/media/fasthdd/swapfile.img swap swap sw 0 0

৪. অ্যাক্টিভেট করুন:
আপনি নিজের কম্পিউটারটি পুনরায় বুট করতে পারেন বা নীচের কমান্ডের সাহায্যে নতুন অদলবদল সক্রিয় করতে পারেন:

swapon /media/fasthdd/swapfile.img


যদি সবকিছু ঠিকঠাক হয়

আপনার দেখতে হবে যে আরও অদলবদল ব্যবহারের জন্য উপলব্ধ। আপনার নতুন অদলবদল পরীক্ষা করতে এবং এটি সক্রিয় কিনা তা নিশ্চিত করতে আপনি নিম্নলিখিত আদেশগুলি ব্যবহার করতে পারেন:

cat /proc/swaps
  Filename                           Type       Size    Used    Priority
  /media/fasthdd/swapfile.img        file       8388604 2724    -1

grep 'Swap' /proc/meminfo
  SwapCached:         4772 kB
  SwapTotal:       8388604 kB
  SwapFree:        8355812 kB

5
/etc/fstabকমান্ড লাইনে এটি সম্পাদনা করার জন্য :sudo gedit /etc/fstab
বেন

এটি আমাকে মারাত্মকভাবে সাহায্য করেছে, স্যার আপনাকে অনেক ধন্যবাদ।
বাতাস দিন

সদ্য নির্মিত swapfile নিষ্ক্রিয় কিভাবে?
ব্রীজ

1
এটা তার swapoff পেয়েছিলাম!
ব্রীজ

2
"cat / proc / swaps" এর পরিবর্তে স্থিতিটি দেখতে "swapon -s" কমান্ডটি ব্যবহার করুন। তারপরে "ফ্রি" কমান্ডও অদলবদলের ব্যবহারের তথ্য দেয়।
পল এম

40

অদলবদলের পার্টিশনের আকার বাড়ানোর জন্য জিইউআই পদ্ধতি

সোয়াপ আকার বাড়ানোর আরেকটি উপায় হ'ল জিপিআরড পার্টিশন এডিটর ব্যবহার করা । সংক্ষেপে, আপনি অদলবদলটিকে পুনরায় আকার দিন, তারপরে ডান ক্লিক করুন এবং "স্বপন" নির্বাচন করুন।

জিপিটারড-লাইভ-ডিস্ক বা উবুন্টু লাইভ ডিস্ক বুট করা সহজ (যাতে সমস্ত /dev/sdaপার্টিশন আনমাউন্ট হবে না)। আপনি যদি উবুন্টু লাইভ ডিস্ক পরিচালনা করেন তবে আপনাকে নীচের কমান্ডগুলি চালিয়ে জিপিআরটি ইনস্টল করতে হবে:

sudo apt-get update
sudo apt-get install gparted && sudo gparted

আপনি অবশ্যই অদলবদলের পার্টিশনের আকার বাড়িয়ে তুলতে সক্ষম হবেন যদি সোয়াপ পার্টিশনের আগে বা পরে অযাচিত স্থান উপস্থিত থাকে। যদি অদলবদলিত স্থানের নীচে বা উপরে কোনও অবিবাহিত স্থান (আমরা যে স্থানটি সোয়াপ পার্টিশনের সাথে যুক্ত করার চেষ্টা করছি) না থাকি, তারপরে আমাদের পার্টিশনগুলির আকার পরিবর্তন করতে হবে এবং সেই অপরিবর্তিত স্থানটি পেতে হবে।

কেস 1 - অদলবদল অদলবদলের পূর্বে বা পরে উপস্থিত স্থান

জিপি স্টার্ট পার্টিশন

উপরের স্ক্রিনশটটিতে আমার কাছে লিনাক্স-অদলবদলের আগে 11.4 গিগাবাইট আনলোকেটেড স্পেস এবং অদলবদল বিভাজনের পরে 12.8 গিগাবাইট ছিল।

  • আকার পরিবর্তন করতে, স্ব্যাপ পার্টিশনটিতে ডান ক্লিক করুন (/ dev / sda9 এখানে) এবং পুনরায় আকার / সরান বিকল্পে ক্লিক করুন। এটি দেখতে এটির মতো হবে:

    এখানে চিত্র বর্ণনা লিখুন

  • স্লাইডার তীরগুলি বাম বা ডানদিকে টানুন তারপরে পুনরায় আকার / সরান বোতামে ক্লিক করুন। আপনার অদলবদল পুনরায় আকার দেওয়া হবে।


কেস 2 - অব্যক্ত স্থান পার্টিশনের মধ্যে রয়েছে

এখানে চিত্র বর্ণনা লিখুন

উপরের স্ক্রিনশটটিতে, অযাচিত স্থান যা আমরা স্যুপ পার্টিশনে যুক্ত করতে চাই তা হ'ল dev/sda7এবং তার মধ্যে /dev/sda8

  • / Dev / sda8 পার্টিশনে ডান ক্লিক করুন এবং পুনরায় আকার / সরান বিকল্পে ক্লিক করুন ।

    এখানে চিত্র বর্ণনা লিখুন

  • স্লাইডারটি ক্লিক করে চূড়ান্ত বাম দিকে সরান, যাতে /dev/sda8পার্টিশনের ঠিক উপরে থাকা অবিরত স্থানটি নীচে নেমে আসে /dev/sda8that এরপরে পুনরায় আকার / সরান বোতামটি ক্লিক করুন।

  • এবং এখন অবিকৃত স্থানটি অদলবদলের ঠিক উপরে ছিল যা কেস 1 এর মতো ছিল ow এখন কেস 1 অনুসরণ করুন।


কেস 3 - যদি অযাচিত স্থানটি প্রসারিত পার্টিশনের বাইরে উপস্থিত থাকে)

এখানে চিত্র বর্ণনা লিখুন

আমার বর্ধিত পার্টিশনের ঠিক নীচে 18 গিগাবাইটের একটি অব্যবহৃত স্থান ছিল । এই স্থানটি লিনাক্স-অদলবদল (যা বর্ধিত পার্টিশনের অভ্যন্তরে উপস্থিত ছিল) যুক্ত করতে, আমাদের নীচের পদক্ষেপগুলি অনুসরণ করতে হবে,

  • প্রসারিত পার্টিশনে ডান ক্লিক করুন এবং পুনরায় আকার / সরান বিকল্পটি নির্বাচন করুন , এটি নীচের স্ক্রিনশটের মতো হবে

    এখানে চিত্র বর্ণনা লিখুন

  • তীরটিকে ডানদিকে টানুন এবং টানুন এবং পুনরায় আকার / সরান ক্লিক করুন , যাতে 18 গিগাবাইটের অচলিত স্থানটি বর্ধিত পার্টিশনের নীচে চলে আসবে comes আমি নীচে ইতিমধ্যে উপস্থিত একটি 14.80 গিগাবাইট স্থান এবং এখন 18.34 ছিল গিগাবাইট এর সাথে একত্রিত হয়ে বর্ধিত পার্টিশনের নীচে অবারিত স্থান (18.34 + 14.80 গিগাবাইট) তৈরি করতে।

  • সোয়াপ পার্টিশনের ঠিক নীচে একটি অবিকৃত স্থান ছিল, এটি কেস 1 এর মতো হবে , তারপরে কেস 1 অনুসরণ করবে।

দ্রষ্টব্য: উপরের ক্রিয়াকলাপটি চালিয়ে যাওয়ার আগে আপনার সমস্ত গুরুত্বপূর্ণ ডেটা ব্যাকআপ নিতে ভুলবেন না।


2
জিইউআই সরঞ্জামগুলির দুর্দান্ত গাইড, যেমন ++ প্রাপ্য। তবে সম্ভবত পার্টিশন সম্পাদনার সাথে জড়িত সম্ভাব্য ঝুঁকি সম্পর্কে কিছু সতর্কতা থাকা উচিত। সাধারণ এমবিআর ব্যাকআপ গাইড বা এই জাতীয় গাইডের লিঙ্কটি দুর্দান্ত সংযোজন হবে, ত্রুটিগুলি অসম্ভব হতে পারে তবে ব্যয়গুলি উচ্চতর হতে পারে + এমবিআর ব্যাকআপ নেওয়া খুব বেশি সময় বা স্থান ব্যয় করবে না এবং সঠিকভাবে কাজ করার সময় প্রচুর কাজ, স্থান এবং সময় সাশ্রয় করতে পারে ।
সাম্পো সরলা

2
অদলবদল করতে ভুলবেন না, ডানদিকে swap পার্টিশনটি একটি
সোপান

29

fallocate0 এর মাধ্যমে ফাইলটি পূরণ না করে আপনি নিজের সোয়াপফাইলে স্থান সংরক্ষণ করতে চাইলে আপনিও ব্যবহার করতে পারেন dd

manপৃষ্ঠা থেকে :

DESCRIPTION
   fallocate  is  used  to preallocate blocks to a file.  For filesystems which support the fallocate system call, this is done quickly by
   allocating blocks and marking them as uninitialized, requiring no IO to the data blocks.  This is much faster than creating a  file  by
   filling it with zeros.

আপনার যদি ইতিমধ্যে একটি swapসংজ্ঞায়িত থাকে, আপনি হয় এটি সরিয়ে ফেলতে পারেন বা এটি রাখতে পারেন এবং আপনার * নিক্স এটি পরিচালনা করবে ( swaponঅগ্রাধিকার সংজ্ঞা দিয়ে আরও ভাল )। এটি দরকারী হতে পারে, আপনি যদি নিজের ডিগ্রিটি বিভিন্ন ডিভাইস, ড্রাইভের মধ্যে ছড়িয়ে দিতে চান তবে (তাদের গতি বা অন্যান্য কাস্টম চাহিদার উপর ভিত্তি করে স্ট্যাকএক্সচেঞ্জের একাধিক সোয়াপ ফাইলগুলির উদ্দেশ্য কী তা দেখুন )।

fallocateদ্বিতীয় সোয়াপ ফাইল যুক্ত করার জন্য সহজ ব্যবহার

অদলবদল পরীক্ষা করুন:

$ sudo swapon -s
Filename                Type        Size    Used    Priority
/swapfile               file        262140  246276  -1

একটি 4 জি সোয়াপ ফাইল তৈরি করুন Create

একটি সোয়াপ ফাইল তৈরি এবং সক্রিয় করার মানক উপায়।

$ size="4G" && file_swap=/swapfile_$size.img && sudo touch $file_swap && sudo fallocate -l $size /$file_swap && sudo mkswap /$file_swap && sudo swapon -p 20 /$file_swap

আপনার অদলবদল স্থায়ী করুন

আপনার /etc/fstabফাইলে একটি লাইন যুক্ত করুন যাতে পরবর্তী পুনরায় বুট করার সময় অদলবদলের সূচনা হবে (আমরা এখানে সদ্য তৈরি হওয়া সোয়াপ স্পেসের অগ্রাধিকারটি আপডেট করব এবং আমরা পুরানো সোয়াপ ফাইলটির অগ্রাধিকার আপডেট করব)।

আপনার / ইত্যাদি / fstab ফাইলে, পূর্বের স্বাপের অগ্রাধিকারটি এখন 10 টি লক্ষ্য করুন।

/swapfile    none    swap    sw,pri=10      0       0
/swapfile_4G.img     none    swap    sw,pri=20      0       0

পুনরায় বুটের পরে অদলবদলের পরিস্থিতি পরীক্ষা করুন:

$ sudo swapon  -s
Filename       Type     Size        Used    Priority
/swapfile      file     262140      0       10
/swapfile_4G.img       file     4194300     0       20

অদলবদলের একটি স্থান সরান (উদাহরণস্বরূপ মূল 256Mb)

সম্পাদন করা /etc/fstab

আপনি মুছে ফেলতে চান অদলবদলের সাথে সম্পর্কিত লাইনটি সরান।

যে অদলবদল মুছুন

অদলবদল মুছুন এবং মুছুন।

sudo swapoff /mnt/swapfile && sudo rm /mnt/swapfile

সম্পদ:


2
1-আপ এর জন্য fallocate, ddআপনার fs এর সমর্থন দিলে তার চেয়ে অনেক বেশি ভাল । One ওয়ান-লাইনারগুলি এখনও পড়া শক্ত মনে হচ্ছে, যদি পড়াশোনাগুলি প্রকৃত আদেশে ভেঙে দেওয়া যায় তবে অধ্যয়ন করা সহজতর হতে পারে?
সাম্পো সরলা

2
এটি নিখুঁত উত্তরের একটি উদাহরণ, বুঝতে খুব সহজ, বাস্তবায়নের জন্য খুব সহজ। এটি উবুন্টুতে
মোহরের

7

আমার ক্ষেত্রে আমার কাছে ইতিমধ্যে একটি অদলবদল ফাইল ছিল যা আমি ভেবেছিলাম 1 জিবি কিন্তু যখন আমি এটিকে আরও ঘনিষ্ঠভাবে দেখলাম তখন এটি কেবল 256 এমবি বড় ছিল এবং আমার রেল সংস্থানগুলি প্রাক-সংকলন করার সময় সার্ভারটির স্মৃতিশক্তি শেষ হয়ে যাবে would

Errno::ENOMEM: Cannot allocate memory - nodejs

আমি এখানে বর্ণিত হিসাবে আমার অদলবদল তৈরি করেছি: https://stackoverflow.com/a/34885004/784318

এখন যে লাইনটি খালি ফাইল নামে পরিচিত /swapfileতা নিম্নরূপ:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=256k

এখন সোয়াপ ফাইলটি পুনরায় আকার দিতে আমাকে এই সাধারণ পদক্ষেপগুলি করতে হয়েছিল:

# Reboot the system to be able to switch swapping off
sudo reboot

# Turn swap off
sudo swapoff -a

# Delete the `/swapfile`
rm -f /swapfile

# Recreate the swapfile but with double file size memory
sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k

# Turn swap back on
sudo swapon -s

# Change the permission to non-world-readable
sudo chown root:root /swapfile 
sudo chmod 0600 /swapfile

# Use the swap file
sudo mkswap /swapfile
sudo swapon /swapfile

ফাইলটি তৈরি করা হয়েছিল (536870912/1024/1024 = 512 এমবি):

ls -lia /swapfile 
768 -rw------- 1 root root 536870912 Apr 27 07:54 /swapfile

free -mকমান্ড ব্যবহার করে আমি দেখতে পেলাম যে ফাইলটি এখন 512 এমবি প্রত্যাশার মতো:


একক ফাইল সরানোর জন্য আপনাকে rm কমান্ড সহ বিপজ্জনক -r পতাকা ব্যবহার করা উচিত নয়। আরএম -f যথেষ্ট পরিমাণের চেয়ে বেশি হওয়া উচিত।
সাম্পো সরলা

1
@ সাম্পারসারালা মাথা উঁচু করার জন্য ধন্যবাদ, আমি সেই অনুযায়ী স্ক্রিপ্টটি পরিবর্তন করেছি।
বেসি

@ বেসি আপনাকে ধন্যবাদ! এটি আমার উবুন্টু 18.04 এলটিএস সিস্টেমে অদলবদলের আকার বাড়াতে আমার ঠিক প্রয়োজন ছিল। এটি আপনি যেমন লিখেছেন ঠিক তেমন কাজ করেছে। দুর্দান্ত সাহায্য !!!
বি-র‌্যাডিকাল

আমি এই সমাধানটি পছন্দ করি কারণ এটি কমান্ড-লাইন, পুনরায় বিভাজনের প্রয়োজন হয় না এবং স্ব্যাপফাইলে ইতিমধ্যে উপস্থিত থাকলে কী করতে হবে তা ব্যাখ্যা করে।
cxrodgers

3

কিভাবে অদলবদল ফাইল যুক্ত করতে হয়

  1. ক্রিম .আইএমজি ফাইল

    sudo dd if = / dev / শূন্যের = / swap.img বিএস = 1 এম গণনা = 1000

দ্রষ্টব্য: বিএস = 1 এম গণনা = 1000 ==> 1 জিবি

(বিএস * গণনা = মেগাবাইটে আকার)

অন্য উদাহরণ:

sudo dd if = / dev / শূন্যের = / swap.img বিএস = 10 এম কাউন্ট = 100

  1. বিন্যাস .আইএমজি ফাইল

    sudo mkswap /swap.img

  2. অদলবদল সক্ষম করুন

    sudo swapon /swap.img

  3. swst ফাইলটি fstab এ যুক্ত করুন

আপনার fstab (/ etc / fstab) এ এই লাইনটি যুক্ত করুন

/swap.img   none            swap    sw              0       0

আমি সাধারণত অদলবদলে একটি লেবেল সেট করি, যেমন "mkswap -L SWAP2"।
পল এম

দ্রষ্টব্য: সাম্পো সররিয়ার গৃহীত / সর্বাধিক উত্সাহিত উত্তর হিসাবে এটি একই উত্তর, তবে কম প্রসঙ্গে এবং অদলবদীর সাথে সরাসরি / মিডিয়া / ফ্যাসথেডের পরিবর্তে রুটে যোগ হয়েছে
স্টিল

0

অদলবদলকে 8GB এ পুনরায় আকার দিন

# Turn swap off
# This moves stuff in swap to the main memory and might take several minutes
sudo swapoff -a

# Create an empty swapfile
# Note that "1G" is basically just the unit and count is an integer.
# Together, they define the size. In this case 8GB.
sudo dd if=/dev/zero of=/swapfile bs=1G count=8

sudo mkswap /swapfile  # Set up a Linux swap area
sudo swapon /swapfile  # Turn the swap on

এটি কাজ করে কিনা পরীক্ষা করে দেখুন

grep Swap /proc/meminfo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.