Takas boyutu nasıl artırılır?


17

Son zamanlarda sunucuma daha fazla koç koydum ve şimdi toplam 24GB RAM'im var. Başlangıçta, işletim sistemini 2GB takas boyutuna ayarladım.

/dev/sdc1               1         281     2257101   82  Linux swap / Solaris
/dev/sdc2   *         282       60801   486126900   83  Linux

Şu anda takas için 2GB ayrılmıştır, ancak etrafı okumak çok fazla değildir. 24GB'lık bir sistem için en az 10GB'lık takas tahsis etmeyi düşünüyorum.

Sorularım: İşletim sistemi çalışırken bunu yapabilir miyim? Yeniden yüklemem gerekiyor mu? OpenSuse 11.3 kullanıyorum

Yanıtlar:


23

Kurulumdan sonra ayrı bir takas bölümü oluşturmaya karar verdiniz. Çevrimiçi olarak yeniden boyutlandıramazsınız - çevrimdışı yeniden boyutlandırma bile oldukça uzun sürecek ve sonraki dosya sisteminize / dev / sdc2'de zarar verme riski taşıyacaktır.

Bu sorunu çözmek için en kolay seçenek, şu anda kullanmadığınız farklı bir diskte yeni bir takas bölümü oluşturmak (veya yeniden bölümleme için çevrimdışı duruma getirmeyi göze almak) ya da var olan bir dosya sisteminde (takma ile birlikte gelen) bir takas dosyası kullanmaktır. dosya sistemi yükü nedeniyle küçük bir performans cezası ).

Takas bölümü / dosyası eklemek için genel prosedür:

  • kullanarak 82h türünde yeni bir bölüm veya yeni bir 8 GB dosya oluşturun dd if=/dev/zero of=/swapfile bs=1M count=8192
  • mkswap /swapfileveya ile başlatmkswap /dev/sdXX
  • kullanmak swapon /swapfileveyaswapon /dev/sdXX yeni takas alanını etkinleştirmek için sırasıyla on-the-fly
  • yeni takas alanınızın yeniden başlatıldığında etkinleştirildiğinden emin olmak için / etc / fstab dosyasına bir giriş ekleyin

Mevcut takas bölümünüz kullanımda kalır, karmaşıklığı azaltmak için ondan kurtulmak isteyebilirsiniz. Sadece kullanmak swapoff /dev/sdc1an için kullanımını devre dışı bırakmak ve içinde başvurusunu kaldırın/etc/fstab


@ synticon-dj teşekkürler. takasın olduğu diskteki veriler çok önemlidir ve kullanabileceğim başka bir diskim var. Takas olarak farklı bir disk ayarlamanın performansı etkileyeceğini düşünüyor musunuz? / Dev / sdc1 dosyasını değiştirmem gerekecek mi?
x-man

Bunu şu ya da bu şekilde etkiler - / dev / sdc2 çok fazla kullanım görürse, bu G / Ç takas G / Ç ile rekabet eder. Takas olarak başka bir diskin bölümünü eklerseniz, takas G / Ç yükünü bu diske eklemeniz yeterlidir. Takas performansı için faydalı olacak olan şey, etkilenen diskteki diğer G / Ç'leriniz için kaçınılmaz olarak zararlıdır. Bununla birlikte, hiçbir şey sisteminizin performansı için çok sayıda sayfa / sayfa isteği isteği kadar kötü değildir. Bunu görürseniz, bellek ekleyerek veya sisteminizin bellek alanını azaltarak düzeltin.
wabbit

farklı iğlerde iki takas cihazına sahip olmak takas performansınıza yardımcı olacaktır (çünkü okumak ve yazmak için sadece bir tane yerine aynı anda adreslenebilen iki disk vardır). Ancak yine de takas nedeniyle yüksek G / Ç etkinliği
görmemeniz gerektiği için,

1
BtrFS kullanıyorsanız, bir takas dosyasının çalışmadığını unutmayın. İki geçici çözüm (1) geri döngü aygıtı yapmak veya (2) btrfs-swapon kullanmaktır .
Diagon

@ the-wabbit /etc/fstabYeni takasın yeniden başlatıldığında etkinleştirildiğinden emin olmak için giriş nasıl oluşturulur ?
SIGSTACKFAULT

3

Bu durumda takas ister misiniz? Sistem sisteminizde ne çalıştırdığınızı bilmiyorum, ancak tamamen takastan kaçınmak için sunucularımda yeterli belleğe sahip olmaya çalışıyorum ... daha fazla bellek ...)


Burada yanınızdayım, takas esas olarak (geçici) bellek tükenmesi durumunda çökmeleri önlemek için kullanılır ve SSD'ler yardımcı olabilse de, sunucunuz isabetli bir G / Ç ve / veya bant genişliği alır. günümüzde gerçekten ucuz olan RAM'den en az 10 kat daha yavaştırlar. DDR3 ECC 1333MHz fiyatları 64GB (8x8GB) için yaklaşık 1000 $
Shadok

2

Diski yeniden bölümlendirmelisiniz. Linux bölümünün başlamasının iyi hareket ettiğini hatırlarsam ayrıştırılmış olarak desteklenmez, ancak linux dosya sisteminizi ve bölümünüzü de küçültebilir ve sonra diskinizin sonunda başka bir takas yapabilirsiniz. Sistem çevrimiçi durumdayken bunu yapamazsınız.

Alternatif çözüm takas olarak büyük bir dosya kullanmaktır. (Bugünlerde iyi bir fikir olup olmadığını bilmiyorum.)


Her dosya sistemi çevrimdışı bile olsa küçülemez. Ne yazık ki, bu XFS ( xfs.org/index.php/Shrinking_Support ) gibi popüler seçenekleri etkiler .
Sven

@Stone, işletim sisteminin yeniden yüklenmesi anlamına mı geliyor?
x-man

Hayır. Yedekleme yapmak :), bir LiveCD önyükleme yapmak, linux dosya sistemini sonra sdc2 bölümünü küçültmek ve diskin sonunda yeni bir takas yapmak ve sisteminizi yeniden başlatmak anlamına gelir.
Taş

0

1 Tüm takas işlemlerini kapatın

sudo swapoff -a

2 Değiştirmeyi yeniden boyutlandırın

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

if = input file
of = output file
bs = block size
count = multiplier of blocks

3 Dosyayı takas olarak kullanılabilir hale getirin

sudo mkswap /swapfile

4 Takas dosyasını etkinleştirin

sudo swapon /swapfile

5 Mevcut takas miktarını kontrol edin

grep SwapTotal /proc/meminfo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.