Değişimi nasıl devre dışı bırakırım?


83

RAM'de diskte olmamayı tercih ettiğim bazı hassas verilerim var. Değişimi nasıl devre dışı bırakırım? Daha sonra yeterince koç var. Eğer ram çok yükselirse, sonlandırılmakta olan işlemlerde sorun yaşamadım. Değişimi nasıl devre dışı bırakırım?

Not: Takas bölümüm yok ve bu bir VM'de (VMWare) çalışıyor.

swap 

2
Çok fazla RAM'iniz olsa bile, tamamen değişmeden çalışmak en iyi fikir değildir (örneğin, alexonlinux.com/swap-vs-no-swap sayfasına bakın ). Gereksinimlerinize bağlı olarak, takas bölümünü dm-crypt güvenli bir aygıta yerleştirmeyi düşünebilirsiniz, böylece kendisine yazılan her şey şifrelenir. Böyle bir durumda, şifreli birimler kullanılabilir olduktan sonra takas işleminin etkinleştirildiğinden ve cihaz eşleştirmesi devre dışı bırakılmadan önce devre dışı bırakıldığından emin olmalısınız (elbette Ubuntu'da varsayılandır, ancak emin değilim). Çok sayıda kılavuz bulmak için web’de "şifreli takas" kelimesini arayın.
soulsource,

1
Apropos: askubuntu.com/questions/248158/… İhtiyacınız olana kadar takas yapmanıza gerek yok. Ve sonra gerçekten ihtiyacın var.

Bir cryptswap ne olacak? / dev / mapper / cryptswap1

Yanıtlar:


121

kullanma

sudo swapoff -a  

takası kapatmanın normal yolu, swapon -aonu yeniden açmak için kullanılan komuttur. man swapoff Açık cihazlar için takas kapatma hakkında daha fazla bilgi için bkz..


7
Bu bir yeniden başlatma boyunca sürecek gibi görünmüyor mu?
ebyrob

19
Değişimde kalıcı değişiklikler genellikle / etc / fstab dosyasında yapılır.
ubfan1

Bunu sadece / etc / fstab içine kopyalıyor muyuz
Max

6
Hayır. Bunun yerine, / etc / fstab içindeki takas satırını yorumlarsınız.
Torsten Bronger

Bunu nasıl yorumlayacağınızı diğer cevaplarda okuyabilirsiniz.
Carolus

25

Yeniden başlatma işleminden sonra takas /etc/fstabdosyasını , dosyadaki takas girişini yalnızca yorumlayarak (satırın önüne # ekleyin) devre dışı bırakabilirsiniz . Bir yeniden başlatma işleminden sonra takas bölümünün otomatik olarak monte edilmesini önler. Bunu tek bir komutla yapmak için:

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

ya da sadece:

sudo sed -i '/ swap / s/^/#/' /etc/fstab

Şimdi takas girişiniz /etc/fstabşuna benzer:

#UUID=xxxxxxxx-xxxx-xxxxx-xxx-xxxxxxxxxxx none            swap    sw              0       0

Kendi özel sayılarınız ve "x" harfleri yerine küçük harflerle.


2
Alıntı UUID'nizde neden bazı somut rakamlar var? Tüm UUID'ler için aynı olmalı mı? Bölümlerimin UUID'leri sizin belirlediğiniz rakamlarla çakışmıyor.
Ruslan

Sed komutlarınız, alanların sekmelerle ayrılması (boşluk değil) durumunda çalışmaz. sed -ri '/\sswap\s/s/^#?/#/' /etc/fstabPS olarak daha iyi yazılır : Ayrıca #?, satır zaten devre dışı bırakıldığında / etc / fstab dosyasında ek değişiklik yapılmasını önlemek için ekledim .
Alek_A

4

Eğer takasın içeriğinden endişe duyuyorsanız, her zaman olduğu gibi kapatabilirsiniz sudo swapoff -ave takas cihazını dd kullanarak sıfır veya rasgele verilerle doldurun.

Takas alanınızı veya cihazınızı bulmak için önce fstab içeriğini kullanın ( less /etc/fstab).

Onu bulduktan sonra çift ve üçlü sda5 ya da /swapfile (takas bölümleri varsayılan olarak 17.04 ve sonrasında değiştirilmiştir .

Bir takas bölümlemesi veya sürücü durumunda: (/ dev ile ön yüzleşerek) "disk destroyer" komutunu verir (hafifçe kullanılmamalıdır)

sudo dd if=/dev/zero of=swaptakas kelimesini takas cihazı veya içinde bulunduğunuz dosyayla değiştirmek/etc/fstab

sıfırlarla doldurmak veya

sudo dd if=/dev/random of=swaptakas kelimesini takas cihazı veya içinde bulunduğunuz dosya ile değiştirmek/etc/fstab

Rastgele veri dolu patlatmak için.

Bir takas dosyası olması durumunda (yalnızca bir yolla ön yüze yerleştirilmiş): dosyayı kolayca silebilirsinizrm /path/to/swapfile

Bir dahaki sefere takasla

swapon -a

Sistem tekrar mutlu bir şekilde kullanacak. Çok miktarda RAM'iniz varsa hiçbir şekilde takas etmeniz gerekmeyebilir. Komutu ver

free Sistem ağır yük altında olduğunda ve bu belirlemeyi yapmak için ne kadar kullanıldığını görün.

Kalıcı olarak değiş tokuşa ihtiyacınız olmadığını belirlerseniz (hazırda bekleme ya da başka bir şey için), fstab'daki bu satırı burada önerildiği şekilde yorumlayabilirsiniz.

Beleş


3

Topal bir çözüm olabilir, ama sık kullandım. Sadece yazabilirsiniz

sudo -s
crontab -e

Ve Ekle

@reboot sudo swapoff -a  

Böylece açılışta otomatik olarak devre dışı bırakılır.


4
Umarım bu çok kötü bir yöntem olduğunu söylemeden geçer. Neden başka bir seçeneği kapatmak için önyükleme zamanı görevi oluşturuyorsunuz , ilk başta açılmasını durduracak şekilde düzenlenebilecek başka bir dosya varken
underscore_d

Belki estetik olarak hoş değil, ama bunda kötü bir şey yok. Eğer crontab'ı kullanmaya çok alışkınsanız, bu çözüm parmaklarınızı biraz daha kolay yuvarlar ve SE'deki diğer kullanıcıların / etc / fstab'a yapmasını söylediklerini sadece kör bir şekilde kopyalamaktan daha mantıklı olur. Ve yine google'ı çalıştırmak zorunda kalmadan yeni bir bilgisayara nasıl yapacağınızı hala hatırlayacaksınız. Ne crontab'ın ne olduğunu bile bilmiyorum ve disk bölümlerini zaten çok tanıdık geldim ama mantık hala duruyor.
Nicholas Pipitone

Aslında, bu daha iyi bir çözüm olabilir. Çünkü / etc / fstab önerileri sadece takas bölümleri için işe yarar. Bu çözüm linux kurulumları için bir bölüm veya bir takas dosyası kullanıp kullanmadıklarından bağımsız olarak uygulanır.
Nicholas Pipitone

2
sudo swapoff -a

Üstteki komut yalnızca geçerli bir oturum için takas işlemini devre dışı bırakır , / etc / fstab dosyasındaki takas bölümünü yorumlamanız gerekir . Bunu yapmak için takas satırının başına "#" (yorum satırı) eklemeniz yeterlidir. Adımlar şöyle:

  1. Fstab dosyasını açın, sudo gedit /etc/fstabterminalde yazın.

Dosyanın içeriği şöyle görünür:

proc            /proc           proc    nodev,noexec,nosuid 0       0
/host/ubuntu/disks/root.disk /               ext4    loop,errors=remount-ro 0       1
/host/ubuntu/disks/swap.disk none            swap    loop,sw         0       0
#/dev/sda10 /media/ASD  vfat    defaults    0   0
#/dev/sda1  /media/98   vfat    defaults    0   0
  1. Takas bölümleme satırının başına yalnızca karma (#) ekleyin, böylece satır şöyle görünür:

#/host/ubuntu/disks/swap.disk none swap loop,sw 0 0

  1. PC'nizi yeniden başlatın

0

Terminale gidin ve şu komutu çalıştırın: gnome-disks. Tüm dağıtımlarda kurulmaz. Öyleyse, yüklemek için yazdırılan talimatları izleyin ve tekrar deneyin. Sol bölmede 'takas' kelimesi olan bir cihazı arayın. Genellikle fiziksel belleğinizle aynı büyüklüktedir. Devre dışı bırakmak için kare düğmesini tıklayın. Bu değişikliği kök şifrenizle doğrulayın.

Ekran Görüntüsü: http://imgur.com/Og6igqb

Sistem Monitörü uygulamasında (gnome-system-monitor), takas alanını 'mevcut değil' olarak rapor ettiğini göreceksiniz. Değişim alanı devre dışı bırakılmış ancak silinmemiş. Gelecekte tekrar kolayca etkinleştirebilirsiniz. Takas alanını silmek sistemimin zarar görmemesine neden oldu, ancak ileride geri isteyip istemediğinize karar verirseniz kendiniz için daha fazla iş yaratacaksınız.

düzenleme: başlangıçta montajını önlemek için, gnome-disklerde "Mount Options ... ..." bölümüne girmeli ve "Başlangıçta montaj" seçeneğinin işaretini kaldırmalısınız.


1
Bunun, kullanıcıların takas bölümündeki hassas verilerle ilgili endişelerine cevap verdiğini düşünüyor musunuz? Bize nedenini söyleyebilir misin?
Elder Geek

1
Kullanıcının asıl amacı, değiş tokuşun nasıl devre dışı bırakılacağını sormaktı. Hassas verileriniz varsa, önyükleme öncesi şifrelemeyi ideal olarak kullanıyor olmalısınız.
user170544

1
Saygılarımla aynı fikirde değilim. Soruyu okuduğumda, karşılaştığım ilk cümle "ramda diskte olmamayı tercih ettiğim bazı hassas verilerim var." Bunun onun asıl endişesi olduğuna inanıyorum, bu yüzden onunla başladı. Ne olursa olsun, cevabımda sorusunun her yönünü ele aldığımı düşünüyorum. Yararlı bir örnek olarak düşünün.
Elder Geek

0

Dosyadaki takas girişinden oluşan satırdaki defaultsile değiştirin :sw,noauto/etc/fstab

/dev/mapper/centos-swap swap  swap    sw,noauto        0 0

(Yol /dev/mapper/centos-swapsizin için muhtemelen farklıdır).

Şimdi yeniden başlattıktan sonra çıktıyı kontrol edin, takasınız asla takılmaz:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3791         100        3408           8         282        3483
**Swap:             0           0           0**
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.