Takas alanı nasıl artırılır?

104

Varsayılan olarak Ubuntu'da 250MB'lık takas alanı var ve bunu daha büyük bir boyuta genişletmek istiyorum. 800MB'a ihtiyacım var, ki mevcut takas limitine çarpmadan çeşitli uygulamaları açmak için yeterli olacağını düşünüyorum. Umarım birisi bana yardım edebilir.

    
sordu Bruno 21.08.2012 22:20

5 cevap

139

Her zaman takas dosyası oluşturabilirsiniz

Daha fazla takas alanı eklemek için

. Bu, takas bölümüyle aynı değildir (her açıdan), ancak kolay ve dinamik olacaktır.

/media/fasthdd/swapfile.img 'yi istediğiniz herhangi bir şeye değiştirin, örneğin /swap.img olabilir. /media/fasthdd/swapfile.img sadece örnek dosya ismidir, eğer bunu kullanıyorsanız, yeni takas dosyanız için yeterli boş alan içeren /media/fasthdd/ dizin olmalıdır.

Komutları çalıştırmak için herhangi bir terminal uygulamasını kullanın. Tüm komutlar root ayrıcalıklarıyla çalıştırılmalıdır, bunun için her komutun başına sudo ekleyebilir veya komutları çalıştırmadan önce sudo bash dosyasını çalıştırabilirsiniz.

1. Boş dosya oluştur:
Bu dosya sanal bellek içeriklerini içerecek ve dosyalarınızı ihtiyaçlarınız için yeterince büyük hale getirecek. Bu, sisteminiz için + 1Gb takas alanı anlamına gelen 1Gb dosyası oluşturacaktır:

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

3Gb dosyasını yapmak istiyorsanız, sayı değerini count=3M olarak değiştirin. Daha fazla bilgi için man dd bölümüne bakın.

2. Bake swap dosyası:
Aşağıdaki komut, yeni takas dosyanızın içinde "swap dosya sistemini" yapacak.

mkswap /media/fasthdd/swapfile.img

3. Önyüklemeyi kaldır:
Bilgisayarı önyüklerken yeni takas alanınızın etkin olduğundan emin olmak için bunu /etc/fstab dosya sistemi yapılandırma dosyasına eklemelisiniz. Dosya sonuna ekle, bu, diğer dosya sistemlerinden ( takas dosyası içeren en az bir tane ), herhangi bir dosyaya erişebilmemiz için okuma-yazma modunda monte edilmesi gerektiği için önerilir.

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

4. Etkinleştirin:
Bilgisayarınızı yeniden başlatabilir veya yeni takas dosyasını aşağıdaki komutla elle etkinleştirebilirsiniz:

swapon /media/fasthdd/swapfile.img

Her şey yolunda giderse

Daha fazla takas alanının kullanım için uygun olduğunu görmelisiniz. Yeni takasınızı kontrol etmek ve etkin olduğunu onaylamak için aşağıdaki komutları kullanabilirsiniz:

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
    
verilen cevap Sampo Sarrala 21.08.2012 22:59
30
takas bölümünün boyutunu artırmak için

GUI yöntemi

Takas boyutunu büyütmenin bir diğer yolu, GParted partition Editor 'u kullanmaktır. Kısacası, takas bölümünü yeniden boyutlandırdıktan sonra sağ tıklayıp "Swapon" u seçin.

Gparted-live-disk veya bir Ubuntu canlı diskini önyüklemek daha kolay (böylece tüm /dev/sda bölümlerinin bağlantısı kesilecek). Ubuntu canlı diskini çalıştırırsanız, aşağıdaki komutları çalıştırarak gparted'i yüklemeniz gerekir:

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

Takas bölümünün boyutunu, yalnızca takas bölümünün önünde veya sonrasında ayrılmamış bir alan varsa artırmalısınız. Değiştirme bölümünün altında veya üstünde ayrılmamış alan (takas bölümüyle eklemeye çalıştığımız alan) yoksa, bölümleri yeniden boyutlandırmalı ve bu ayrılmamış alanı almalıyız.

Durum 1 - takas bölümünden önce veya sonra ayrılmamış alan var

Yukarıdaki ekran görüntüsünde, linux takasından önce 11.4 GB ayrılmamış alan ve takas bölümünden sonra 12,8 GB vardı.

  • Yeniden boyutlandırmak için, takas bölümüne sağ tıklayın (/ dev / sda9 burada) ve Yeniden Boyutlandır / Taşı seçeneğine tıklayın. Şöyle görünecek:

  • Kaydırıcı oklarını sola veya sağa sürükleyerek Yeniden Boyutlandır / Taşı düğmesine tıklayın. Takas bölümünüz yeniden boyutlandırılacaktır.

Durum 2 - ayrılmamış alan bölümler arasında

Yukarıdaki ekran görüntüsünde, takas bölümüne eklemek istediğimiz ayrılmamış alan, dev/sda7 ve /dev/sda8 arasındaydı. Ayrılmamış alanı, takas bölümünün hemen üst kısmına taşımak için basit adımları izlemeliyiz. aşağıda verilmiştir

  • / dev / sda8 bölümüne sağ tıklayın ve Yeniden Boyutlandır / Taşı seçeneğine tıklayın.

  • düğmesini tıklatın ve kaydırıcıyı en sola kaydırın; böylece, /dev/sda8 bölümünün hemen üzerindeki ayrılmamış alan /dev/sda8 'ın altına inecektir. Bundan sonra Yeniden Boyutlandır / Taşı düğmesini tıklatın.

  • Şimdi ayrılmamış alan, Vaka 1 gibi takas bölümünün hemen üstündeydi. Şimdi Vaka 1'i takip edin.

Durum 3 - ayrılmamış alan Genişletilmiş bölümün dışındaysa)

genişletilmiş bölüm için henüz 18 GB'lık bir ayrılmamış alanım vardı. Bu alanı linux-takas bölümüne eklemek için (genişletilmiş bölüm içinde mevcuttu), aşağıdaki adımlar,

  • Genişletilmiş bölüme sağ tıklayın ve Yeniden Boyutlandır / Taşı seçeneğini seçin, aşağıdaki ekran görüntüsü gibi olacaktır

  • Tıklayın ve oku aşırı sağa sürükleyin ve Yeniden Boyutlandır / Taşı seçeneğine tıklayın, böylece 18 GB'lık ayrılmamış alan genişletilmiş bölümün alt kısmında yer alacaktır. Altta zaten bulunan 14.80 GB'lık bir ayrılmamış alan vardı ve şu anda 18.34 GB'lık bölümün alt kısmında (18.34 + 14.80 GB) ayrılmamış alan oluşturmak için bir araya geldi. genişletilmiş bölüm.

  • Şimdi takas bölümünün hemen altında ayrılmamış bir alan vardı, Durum 1 gibi olacak, ardından 1. durumu takip edecek

  • .

NOT: Yukarıdaki işlemlere geçmeden önce tüm önemli verilerinizi yedeklemeyi unutmayın.

    
verilen cevap Avinash Raj 11.12.2013 07:11
19

Ayrıca, fallocate dizininden% 0 ile dosyayı doldurmaya gerek kalmadan, swap dosyanız için yer ayırmak istiyorsanız dd 'yi de kullanabilirsiniz.

MAN sayfasından:

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.

Zaten bir swap tanımlı iseniz, onu kaldırabilir veya saklayabilirsiniz ve * nix'iniz onu yönetecektir ( swapon önceliğini tanımlayarak daha da iyi). Takasınızı farklı cihazlar arasında yaymak istediğinizde, sürücü (hızlarına veya diğer özel gereksinimlerine göre, bkz. StackExchange üzerinde çoklu takas dosyalarının amacı nedir?).

İkinci bir takas dosyası eklemek için basit fallocate kullanımı

Takas durumunu kontrol edin:

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

4G takas dosyası oluştur

Bir takas dosyası oluşturup etkinleştirmenin standart yolu.

$ 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

Takasınızı kalıcı hale getirin

/etc/fstab dosyanıza bir satır ekleyin, böylece takas sonraki yeniden başlatmada başlayacaktır (biz de yeni oluşturulan swap alanının önceliğini burada güncelledik ve eski swap dosyasının önceliğini güncelledik

# in your /ets/fstab file
/swapfile    none    swap    sw,pri=10      0       0
/swapfile_4G.img     none    swap    sw,pri=20      0       0

Yeniden başlatma sonrasında takas durumunu kontrol edin:

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

Takas alanının birini kaldırın (örneğin orijinal 256Mb)

/etc/fstab değerini düzenle

Kaldırmak istediğiniz takasla ilgili satırı kaldırın

Bu takası sil

Takas dosyasını silin ve kaldırın.

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

Kaynaklar:

verilen cevap Jean-Christophe Meillaud 09.10.2014 15:24
3

Benim durumumda zaten 1GB olduğunu düşündüğüm bir takas dosyası vardı, ancak daha yakından baktığımda sadece 256 MB büyüklüğündeydim ve raylarımın ön belleğini oluştururken sunucunun bellek yetersiz kalması bekleniyordu

Errno::ENOMEM: Cannot allocate memory - nodejs

Takas dosyamı burada açıklandığı gibi oluşturdum: İşte

Şimdi /swapfile adlı boş bir dosya oluşturan satır şöyledir:

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

Şimdi swap dosyasının yeniden boyutlandırılması için şu basit adımları yapmam gerekiyordu:

# 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

Dosya oluşturuldu (536870912/1024/1024 = 512 MB):

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

free -m komutunu kullanıyorum Dosya şu anda beklenen 512 MB olduğunu görebiliyordum:

    
verilen cevap Besi 27.04.2016 14:03
2

takas dosyası nasıl eklenir?

  1. creat .img dosyası

    sudo dd if = / dev / sıfır = / swap.img bs = 1M sayısı = 1000

not !: bs = 1M count = 1000 == & gt; 1GB

(bs * count = megabayt cinsinden boyut)

diğer örnek:

sudo dd if = / dev / sıfır = / swap.img bs = 10M sayısı = 100

  1. format .img dosyası

    sudo mkswap /swap.img

  2. takas dosyasını etkinleştir

    sudo swapon /swap.img

  3. takas dosyasını fstab'a ekleyin

bu satırı fstab'ınıza (/ etc / fstab) ekleyin

/swap.img   none            swap    sw              0       0
    
verilen cevap Jonas 03.10.2015 13:13

Etiketlerdeki diğer soruları oku