Güvenli bir şekilde kalıcı bir şekilde takas nasıl kapatılır ve alandan nasıl kazanılır? (Debian Jessie’de)


48

SSD diskime Debian Jessie ile varsayılan bölümleme yaptım. Geçerli disk bölümlemem şuna benziyor:

Şu anki disk bölümlemem şuna benziyor

16GB RAM'im olduğundan, takas yapmam gerekmediğini varsayıyorum . Ancak başka disk sürücülerim olduğundan , bunun yerine diğer sürücülerden birinde örneğin bir takas dosyası oluşturabilirim .

Takas bölümünü doğru ve kalıcı olarak disk alanı kaplamaması için kaldırmak için hangi adımları atmam gerektiğini söyler misiniz ? Şu anda sadece 128GB'lık SSD'm olduğundan takas bölümünü silmek istiyorum.

İşte her seferinde denediğim ve yeniden başlattığım şey; bu adımların her biri kalıcı değildir veya hiçbir şey yapmamıştır :

  1. swapoffYardımcı programı kullanarak :

    swapoff --all
    
  2. GParted yardımcı programını kullanarak :

    Takas bölümünü sağ tıklayıp Swapoff’u tıklayın.

  3. Takas bölümünün UUID'sini aşağıdaki dosyada yorumlayan :

    /etc/fstab
    
  4. Takas bölümünün UUID'sini aşağıdaki dosyada yorumlayan :

    /etc/initramfs-tools/conf.d/resume
    
  5. Bu komutları sonunda çalıştırma (hem bu sırada hem de ters sırada)

    update-grub
    
    update-initramfs -u
    

1
Swapoff sadece çalışan sistem için takası devre dışı bırakır, kalıcı yapmak için ilgili girişi kaldırmanızla birleştirmeniz gerekir /etc/fstab. Bu yapıldıktan sonra, takas devre dışı bırakılmalı ve bir sonraki açılışta geri gelmemelidir. Artık kullanılmayan alanı geri kazanmak istiyorsanız bölüm tablosunu değiştirmeli ve ana dosya sisteminizi genişletmelisiniz. Ayrıntılı talimatlar için cevabımı gör.
André Borie

@ burian.vlastimil tüm yayınlayabilirsiniz /etc/fstab?
André Borie

@ burian.vlastimil Lütfen yorumlarınız satır sonlarını koruyamadığından sorunuzu düzenleyin. Fstab'daki değişiklikleriniz yeniden başlatıldıktan sonra da devam ediyor mu yoksa takas çizgisi belirsizleşiyor mu?
André Borie

1
Bu soruyu sorabilirsem, takasın amacı kullanılmayan sayfaları kaldırmak ve sistemi hafızanın tükenmesinden korumaktır. Dolayısıyla, SnakeDoc'un önerdiği gibi, 512 MB takas alanına sahip olmak her zaman iyidir. Şahsen, takas bölümü olmayan ama / / dizinimdeki bir takas dosyası olmayan SSD'im var. Bunu yapmayı tercih ederseniz , dosyayı oluşturmak için bu öğreticiyi kullanın. Takas bölümü gelince, canlı usb önyükleme ve bu bölümü kaldırmak için gparted kullanabilirsiniz. Yine de grub'u güncellediğinizden emin olun.
Sergiy Kolodyazhnyy

4
@SnakeDoc - genellikle bir çekirdek paniği elde edemezsiniz, OOM işleyicisi hafızayı boşaltmak için süreci başlatacak ve öldürecektir (genellikle hangisini (hangisini) öldüreceğine karar vermek oldukça iyi bir iş yapar, genellikle tercih edilir) daha büyük ve daha yeni süreçleri öldürmek için). Öldürme işlemleri yerine OOM üzerinde paniğe ayarlanan çok sayıda sunucuyu değiştiririm, çünkü sunucular normalde hiçbir zaman hafızası tükenmeyecek şekilde yapılandırılırlar ve yaparlarsa, takas yerine paniklemelerini ve yeniden başlatmalarını istiyorum ve yavaşlatmak (veya OOM işleyicisi öldürmeye işlemler yaparsak karar versin)
Johnny

Yanıtlar:


46

Kök olarak çalıştır:

# swapoff -a

Ve bu değişikliği kalıcı hale getirmek için /etc/fstab, takas girişini düzenleyin ve kaldırın ya da yorum yapın.


@ burian.vlastimil, kilitli ne demek istiyorsun? İlk takma satırına bakarak takas cihazının kullanılmadığını doğrulayabilirsiniz - 'KiB Swap: toplam 0' bildirmelidir. Ayrıca cat /proc/swaps- yalnızca bir başlık satırını bildirmesi gerekir. Eğer öyleyse, evet, takas bölümünü güvenli bir şekilde çıkarabilir - ve başka bir bölmeyi genişletebilir - bu alanı geri kazanmak için - istediğiniz şey buysa.
maxschlepzig

@ burian.vlastimil, takas sizin initramfs'ınız tarafından etkinleştirilebilir, takas resumeseçeneğinin kaldırılması (takasınızın UUID'sine referans veren), yani grubun güncellenmesi ve initramların yeniden oluşturulması (temelde adımların bazılarının tam tersini yapın) gerekebilir . SwapFaq ).
maxschlepzig

@ burian.vlastimil, ayrıca /bootbu uuid için grub konfigürasyonunuzu (altında ) bulabilir ve initramsfs'inizi paketinden çıkarabilir ve bunun kök nedenini elde etmek için içeriğini kaplayabilirsiniz. Büyük küçük harf duyarlı bir grep yaptığınızdan emin olun.
maxschlepzig

2
Sadece koymak swapoff -aiçinde /etc/rc.local. takas sahip üzerinde yukarı önyükleme sırasında birkaç milisaniye için bir konudur. 16GB RAM ile orada uzun süre hiçbir şey yazılmayacak. sadece takas alanını orada bırakın (disk alanı ucuzdur) ve değişmeyin /etc/fstab .
Skaperen

Bir yapmak geçici kapalı takas edecek bir kez takas dosyası, o zaman dosyayı silerek yer kurtarabilirsiniz
Skaperen

40
  1. Eğer varsa Gparted'tan açık, kapatın. Swapoff özelliği kalıcı görünmüyor.

  2. Terminali aç ve root( su); Eğer varsa sudoetkin, ayrıca örneğin yapabilir sudo -i; man sudotüm seçenekler için bakınız ):

    sudo -i
    
  3. Belirli bir takas bölümünü ve / veya takas s'nin tümünü kapatın :

    swapoff --all
    
  4. Belirli bir takas bölümü bölümünün kapalı olduğundan% 100 emin olun :

    cat /proc/swaps
    
  5. Bu dosyada uzman olduğunuz bir metin düzenleyicisini açın, örneğin nanoemin değilseniz:

    nano /etc/fstab
    
  6. Takas bölümünün UUID'sini yorumlayın / kaldırın , örneğin:

    # UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d    none    swap    sw    0    0
    
  7. Bu dosyada uzman olduğunuz bir metin düzenleyicisini açın, örneğin nanoemin değilseniz:

    nano /etc/initramfs-tools/conf.d/resume
    
  8. Önceden tanımlanmış takas bölümünün UUID'sini yorumlayın / kaldırın , örneğin:

    # RESUME=UUID=1d3c29bb-d730-4ad0-a659-45b25f60c37d
    
  9. Zaten daha sonra ihtiyaç duyacağınız için terminali kapatmayın.

Not: Bir sonraki adımlar CLI veya GUI'ye bağlı olup olmadığına bağlı olarak değişir .


GUI :

  1. Açılan terminalden ya menüden ya da daha rahat bir şekilde GParted'i açın :

    gparted
    
  2. Yüklü değilse, bunu yapabilirsiniz; daha sonra önceki komutu tekrar çalıştırın:

    apt-get install gparted
    
  3. Sürücünüzü sağ üst menüden seçin.

  4. As GParted reactivates takas başlatma sırasında bölümü, belirli sağ tıklayın zorunda kalacak takas swapoff bölümü ve tıklayın -> Bu hemen uygulanacaktır.

  5. Sil takas sağ tıklama ile bölüm -> silin. Şimdi değişikliği uygulamalısınız.

  6. Ana / diğer bölümünüzü sağ tıklayın -> Yeniden Boyutlandır / Taşı. Şimdi değişikliği uygulamalısınız.

  7. Terminale geri dönelim, önyükleme resimlerini yeniden oluşturalım :

    update-initramfs -u -k all
    
  8. GRUB Güncelle :

    update-grub
    
  9. Makinenin açıldığını test etmek istiyorsanız şimdi yeniden başlayabilirsiniz.


CLI :

Çözümümün işe yarayıp yaramadığını kontrol edeceğim, sonra paylaşacağım. Bu arada, bu cevaba bakınız .


1
en eksiksiz, iyi açıklanmış.
benzkji

Mesajın ardından yavaş önyükleme ile karşılaşırsanız gave up waiting for suspend/resume device: Dosyada /etc/initramfs-tools/conf.d/resume, satırı devre dışı bırakmayın, ile değiştirin RESUME=none. ( kaynak )
tanius

17

/etc/fstabBir sonraki önyüklemede yeniden etkinleştirilmesini önlemek için ilgili girişi yorumlayın / kaldırın , daha sonra swapoff -açalışan sistem için takas bölümünün kullanımını devre dışı bırakmak için yeniden başlatın veya çalıştırın .

Şimdi takas bölümünü silin, sistem bölümünüzü kullanılmayan alanın üzerine getirin ve gerçek dosya sistemini genişletin. Ben senin grafiksel bölüm yöneticisi bütün bunu yapabilir olmadığını biliyorum, ama bu burada eğer kullanarak bunu yapmanın bir dağıtıma-agnostik yolu yok fdiskve resize2fs:

# fdisk /dev/sdX

# Display current partition table, copy/paste this output somewhere to be able to go back in case you screw up

Command (m for help): p
Device       Boot  Start    End Sectors Size Id Type
/dev/sda1        2048  22527   20480  10M ef EFI (FAT-12/16/32)
/dev/sda2       22528 186367  163840  80M 83 Linux
/dev/sda3      186368 204799   18432   9M 82 Linux swap / Solaris

# Delete the swap partition

Command (m for help): d
Partition number (1-3, default 3): 3
Partition 3 has been deleted.

# Delete the system partition

Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.

# Create a new system partition starting the same as the old one but ending a bit farther, at the end of the (now deleted) swap partition

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (2-4, default 2): 
# Enter the same start sector as the old part.
First sector (22528-204799, default 22528): 22528
# Enter the end sector of the old swap partition
Last sector, +sectors or +size{K,M,G,T,P} (22528-204799, default 204799): 204799

Created a new partition 2 of type 'Linux' and of size 89 MiB.

# Save the changes
Command (m for help): w
The partition table has been altered.

Sonunda, yeni boş alandan faydalanmak için mevcut dosya sistemini genişletiyoruz (şimdiye kadar gerçek dosya sistemi, alt bölümlerine daha fazla alan eklediğimizin farkında değildi). Varsayılan resize2fsolarak, sabit bir boyut belirtilmedikçe bölümün tamamını kullanır, bu nedenle bölüm blok cihazından başka bir şey belirtmemize gerek yoktur. Bir dosya sisteminin büyütülmesi (küçülme yerine) bölme montajı ile çevrimiçi olarak yapılabilir:

# resize2fs /dev/sda2

Artık takas işlemini başarıyla devre dışı bıraktınız ve kullanılmayan alanı yeniden başlatmadan bile geri kazandınız.

Debian'ın prosedürünün biraz farklı olduğunu ve daha fazla dosya düzenlemenin gerekli olduğunu unutmayın. Daha fazla bilgi için bu cevaba göz atın .


Bu benim için çalışmıyor. 3 bölümüm vardı. Biri / boot, biri / / ve değiş tokuş. Yeni bölümü oluşturmaya çalıştığımda yalnızca
Freedo

Ek olarak, en azından Debian 9 tabanlı dağıtımlar için: komuttan partprobeönce çalıştırılması gerekir resize2fs, aksi takdirde çekirdek yeni bölüm tablosunu bilmez ve hiçbir şey yeniden boyutlandırılmaz.
tanius

2

GParted'deki takas bölümünü sağ tıklayın ve Swapoff'u tıklayın. Sonra takas bölümünüzü silin, çıkarın /etc/fstabve kendiniz initramfsve grubbelki (gereksiz) yeniden oluşturun.

Takas bölümü yoksa initramfs, initramfsgüncelleme bölümü tarafından takas bölümü eklenmemelidir.

Göre bu yazı , şu yenilemeye doğru yoldur initramfsve grub:

update-initramfs -c -k <kernel>

update-grub

-2

Haklısınız Gparted'tan takas bölümünde tıklayıp başlamak için swapoff seçeneği. İstediğin şeyi başarmanın hızlı bir yolu.

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.