টার্মিনালে সরিয়ে না রেখে আমি কীভাবে swapfile এর আকার বাড়াব?


59

আমার বিদ্যমান "swapfile" এটি ধ্বংস এবং পুনরায় তৈরি না করে কি বাড়ানোর কোনও উপায় আছে? আমি আমার অদলবদল স্থানটি 1 জিবি থেকে 2 জিবি করতে চাই। বর্তমানে এটি সেট আপ করা হয়েছে:

$ sudo swapon -s
Filename                Type        Size    Used    Priority
/swapfile               file        1048572 736640  -1
$ ls -lh /swapfile
-rw------- 1 root root 1.0G Nov  9  2016 /swapfile

আমি উবুন্টু 14.04 ব্যবহার করছি।


আপনার কত র‌্যাম আছে? 2 জি কি যথেষ্ট? আমি মনে করি যে আপনাকে swapoffএকটি নতুন / mkswapswapon -a
সোয়াপ ফাইল

1
একটি নতুন সোয়াপ ফাইল যুক্ত করুন, উপরের প্রশ্নের নির্দেশ অনুসরণ করুন। আপনার কাছে 2 টি অদলবদল ফাইল থাকতে পারে;)
রাভেক্সিনা

1
@ রেভেক্সিনা, সম্ভবত একটি নবাগত প্রশ্ন, তবে আমি কেন বিদ্যমান আকারের আকার না বাড়িয়ে নতুন স্ব্যাপ ফাইল যুক্ত করতে চাই? অথবা বিদ্যমান অদলবদলের ফাইল বাড়ানো কি সম্ভব নয়?
ডেভ

@ ডেভ এটিও সম্ভব, আপনি জানেন যে আমরা swapoffতখন ddএবং mkswapশেষ পর্যন্ত করতে পারি swapon। আমি ভেবেছিলাম আপনি নিজের ফাইলটি স্পর্শ করতে চান না।
রাভেক্সিনা

2
পোস্ট @Ravexina যে উত্তর হিসাবে
Sergiy Kolodyazhnyy

উত্তর:


66

প্রথমে অদলবদল অক্ষম করুন:

sudo swapoff /swapfile

এখন আসুন অদলবদলের ফাইলের আকার বাড়ানো:

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc

উপরের কমান্ডটি আপনার অদলবদলের শেষে 1GiB জিরো বাইট যুক্ত করবে।

ফাইলটিকে "অদলবদল ফাইল" হিসাবে সেটআপ করুন:

sudo mkswap /swapfile

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

sudo swapon /swapfile

3
sudo fallocate -l 2G /swapfileসম্ভবত ডিডি-র তুলনায় নিরাপদ (যদিও এটি আসল সোয়াপফাইলে রাখে না), এবং এটির একটিও দরকার sudo chmod 600 /swapfile
হেননেমা

7
@heynnema কি fallocateস্পার্স ফাইল তৈরি করে না ? swaponর manpage বলেছেন বিক্ষিপ্ত swap 'র ফাইল সমস্যাযুক্ত (বিশেষভাবে উল্লেখ আছে fallocate)।
মুড়ু

3
@ হাইমেনা না, ম্যানপেজটি mkswapআরও বলেছে যে ফাইলগুলিতে কোনও গর্ত না থাকা উচিত।
মুড়ু

1
@ মুরু অনুমান আমি ভুল :-) প্রতিবারই আমি পড়লাম কীভাবে 17.04 এর সূচনা দিয়ে একটি / সোয়াপ ফাইল তৈরি করতে হয় তারা ফলোকেট ব্যবহার করেছিল। আমি অনুমান করি যে আমাদের কেবল "ডিস্ক বিলোপকারী" ব্যবহার করতে হবে!
হেননেমা

1
@ হাইনিমা: আপনি যা করতে পারতেন তা হ'ল fallocateডিস্কের স্থানটি প্রাক-বরাদ্দ করতে এবং তারপরে ddশূন্যগুলি দিয়ে গর্তগুলি পূরণ করতে।
ডেভিড ফোরস্টার

39

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

dd if=/dev/zero of=/some/file count=1K bs=1M
mkswap /some/file
sudo chown root:root /some/file
sudo chmod 600 /some/file
sudo swapon /some/file

হয় sudo chmod 600 /some/fileপ্রয়োজনীয় উচিত? '
হেননেমা

1
এবং count=1Kএকটি 1 জি ফাইল দেয়? গণনা ব্লক আকারে, হ্যাঁ? এবং এটি 512/4096 হতে পারে? নাকি আমার গণিত ভুল?
হেননেমা

3
+1 এই পদ্ধতিটি যদি আপনার পরে সিদ্ধান্ত হয় যে আপনার ডিস্কের জায়গার পিছনে প্রয়োজন হয় তবে স্বাপফায়ালগুলির একটির সংযোগ বিচ্ছিন্ন করাও সহজ করে তোলে।
জোয়েটউইল

2
এটি সত্যই সঠিক উত্তর হিসাবে চিহ্নিত করা প্রয়োজন। বাহ, ব্র্যাভো!
বৈশয় গিরগিস

1
@ মুরু এই কি স্থায়ী সমাধান বলে মনে হচ্ছে? আমি 30 এপ্রিল এই কমান্ডটি সম্পাদন করেছি, তবে মে মাসের কোনও এক সময় আমার দ্বিতীয় সোয়াফিল ফাইলটি চলে গেছে। আমি মুছে
ফেলিনি

13

আমি যেমন করেছিলাম তেমনি আপনি অন্য একটি সোয়াপ ফাইল তৈরি করতে পারেন:

  1. sudo fallocate -l 4G /swapfile
  2. sudo chmod 600 /swapfile
  3. sudo mkswap /swapfile
  4. sudo swapon /swapfile
  5. sudo swapon --show
    এটি স্থায়ী করতে fstabফাইল টাইপিংয়ে একটি ফাইল যুক্ত করার জন্য এটি কাজ করছে কিনা তা যাচাই করুন :
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

দয়া করে নোট করুন যে fallocateফাইলটি তৈরি করতে বিট ব্যবহার করা উচিত, কারণ এটি একটি স্পার্স ফাইল তৈরি করে। দেখুনman mkswap
চার্লস গ্রিন

@ চার্লসগ্রিন আমার লেখা হিসাবে এটি কাজ করেছিল, সুতরাং এটি যে কারও জন্যই কাজ করা উচিত।
বোরেকন

আমি পড়তে হবে man mkswap, বিশেষত "পরিবেশ" এর আগে শেষ অনুচ্ছেদ
গ্রিন

1
আরম্বিয়ান বনাম 5.65
বায়টিনিয়ারি

5

ব্লগপোস্ট থেকে আরিয়ান অ্যাকোস্টার পরামর্শ অনুসরণ করে আমার উবুন্টু 17.04 এ ভাল ফলাফল পেয়েছি । sudo fallocate -l 4G /swapfileআপনি যে কোনও গিগাবাইট চান তার সাথে এখানে 4 জি কে প্রতিস্থাপন করতে পারেন। উদাহরণস্বরূপ sudo fallocate -l 2G /swapfileটিএস এর জন্য।

সাধারণভাবে বলতে গেলে, অদলবদলের জন্য প্রস্তাবিত আকারটি 2x র‌্যামের পরিমাণযুক্ত, তবে আপনি এটি আপনার প্রয়োজন হিসাবে এটি আরও বড় করে তুলতে পারেন। মনে রাখবেন যে এটি মেমরির বিকল্প নয় কারণ কার্যত ডিস্কে সঞ্চিত থাকায় কর্মক্ষমতা আরও খারাপ।

আমি একটি সাধারণ বাশ স্ক্রিপ্ট তৈরি করেছি যা স্বাপ ফাইলটিকে 4 জিবিতে বাড়িয়ে তোলে এবং এটি উবুন্টু 16.04 তে পরীক্ষা করে দেখিয়েছি।

এটি লাইন বা ব্যাশ স্ক্রিপ্ট দ্বারা চালানো যেতে পারে তবে আমি এটিকে হেডলেস ইনস্টলেশনগুলি করতে ব্যবহার করি।

#!/bin/bash
echo "====== Current Swap ======"
sudo swapon -s
echo "====== Turning Off Swap ======"
sudo swapoff /swapfile
echo "====== Allocating 4GB Swap ======"
sudo fallocate -l 4G /swapfile
echo "====== Making Swap ======"
sudo mkswap /swapfile
echo "====== Setting Permissions to Root Only  ======"
sudo chmod 600 /swapfile
echo "====== Turning On Swap ======"
sudo swapon /swapfile
echo "====== Current Swap ======"
sudo swapon -s
echo "====== Done! ======"

3
আপনার স্ক্রিপ্টে একটি যুক্তি যুক্ত করা উচিত ছিল, যা যোগ করার জন্য স্বাবের পরিমাণ এবং অবশেষে এটি fstab এ যুক্ত করা উচিত। তবে তবুও, আমি এটি পছন্দ করি
LnxSlck

0

"কীভাবে অদলবদল ফাইলের আকার পরিবর্তন করবেন" এর সাধারণ উত্তর:

বোগদান করানিয়ানু থেকে, এখানে: https://bogdancornianu.com/change-swap-size-in-ubuntu/

[উদ্ধৃতি (আমার মন্তব্য সংযোজনের কয়েকটি দিয়ে মোটামুটি ভারব্যাটিম) START]

নিম্নলিখিত উদাহরণে, আমরা / swapfile এ উপলব্ধ স্বাপের স্থানটি 4 GiB থেকে 8 GiB পর্যন্ত বাড়িয়ে দেব ।

  1. সমস্ত অদলবদল প্রক্রিয়া বন্ধ করুন

    sudo swapoff -a
    
  2. অদলবদলের আকার পরিবর্তন করুন

    sudo dd if=/dev/zero of=/swapfile bs=1G count=8
    

    if= ইনপুট ফাইল
    of= আউটপুট ফাইল
    bs= ব্লক আকার; এখানে 1G1 Gibibyte, অথবা GiB, যা, অনুযায়ী ঘোরা man ddহয় জি = 1024 * 1024 * 1024 বাইট
    count= ব্লক গুণক

  3. অদলবদল হিসাবে ফাইল ব্যবহারযোগ্য করুন

    sudo mkswap /swapfile
    
  4. সোয়াপ ফাইলটি সক্রিয় করুন

    sudo swapon /swapfile
    
  5. যে পরিমাণ অদলবদল পাওয়া যায় তা পরীক্ষা করে দেখুন

    grep SwapTotal /proc/meminfo
    

[উদ্ধৃতি সমাপ্ত]

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