Linux'ta hangi dosya sistemi değiştirilebilir


14

Linux'ta bölümler için ext3 ve reiserfs gibi şeyler seçebilirsiniz. Takas bölümü için sadece "takas" ı seçersiniz. Aslında bu hangi dosya sistemi? Bir ext3 bölümü oluşturabilir ve bunu bir takas bölümü haline getirebilir misiniz? Bu nasıl farklı olurdu?


Linux'ta takas dosya sistemine Linux Takas dosya sistemi denir. Bununla ilgili bazı gerçek bilgiler bulmayı başarırsam, bir cevap gönderirim. Şimdiye kadar, en.wikipedia.org/wiki/Paging'den çekirdeğin takas dosyalarındaki dosya sistemini atladığını okudum . Aynı şey takas bölümleri için de geçerli olabilir.
AndrejaKo

1
Gentoo forumlarındaki inanılmaz insanlar bana bu bağlantıyı sağladı ! Her şey güzel açıklanmış gibi görünüyor. Oh ve teşekkürler John R. Graham.
AndrejaKo

Yanıtlar:


26

Takas, gerçek bir dosya sistemi değildir. Diskin özel bir yapısı olmayan ham adreslenebilir bellek olan ayrılmış bir parçasıdır.

mkswap bazı ek bilgilerle takas alanı için bir başlık oluşturur. Util-linux-ng paketinin swapheader.h dosyasından:

struct swap_header_v1 {
    char         bootbits[1024];    /* Space for disklabel etc. */
    unsigned int version;
    unsigned int last_page;
    unsigned int nr_badpages;
    unsigned int padding[125];
    unsigned int badpages[1];
};

Başlık sürümü 1 şu anda kullanılan sürümdür. Bu takas ham yapısının arkasındaki tüm sihir hakkında.


Bir bölüm için anlamlı bir şey okumak ve yazmak için bir tür dosya sistemi olması gerekmez mi?
tony_sid

5
Hayır. Sadece bellek parçalarına değinmeniz gerekiyor. Sayfalar tam olarak budur. Bu, verileri karmaşık bir yapıya veya izinlerin ve tarihlerin verilerin yanında depolandığı gerçek dosya sistemlerinde olduğu gibi ek bilgilerle depolamamanızdır.
matthias krull

6
Bir dosya sisteminiz yoksa yine de blokları adresleyebilirsiniz.
matthias krull

8

Takas bölümünün bir dosya sistemine ihtiyacı olmadığını düşünüyorum çünkü içinde dosya ve dizin yok. Takas bölümü sanal RAM yeridir.


2
tam olarak sanal koç yeri değil. bir işlemin sanal belleğine eşleştirilebilen (ram gibi) bellektir.
matthias krull

4

Linux'un iki tür takas alanı vardır: takas bölümü ve takas dosyası. Takas bölümü, sabit diskin yalnızca takas için kullanılan bağımsız bir bölümüdür; orada başka dosya bulunamaz. Takas dosyası, dosya sistemindeki, sisteminiz ve veri dosyalarınız arasında bulunan özel bir dosyadır.

Değiştirme iki önemli nedenden ötürü gereklidir. Birincisi, sistem fiziksel olarak mevcut olandan daha fazla bellek gerektirdiğinde, çekirdek daha az kullanılan sayfaları değiştirir ve belleğe ihtiyaç duyan geçerli uygulamaya (işleme) bellek verir. İkincisi, bir uygulama tarafından başlangıç ​​aşamasında kullanılan önemli sayıda sayfa yalnızca başlatma için kullanılabilir ve bir daha asla kullanılmaz. Sistem bu sayfaları değiştirebilir ve diğer uygulamalar veya hatta disk önbelleği için belleği boşaltabilir.


2
Cevap gerçekten güzel ve sorunun özünü açıklıyor, ancak "GNU / Linux'ta takas nedir?" Peki burada ne yapıyor? Ayrıca, ilgili linux.com/news/software/applications/…
AndrejaKo

Takasın ne olduğunu biliyorum.
tony_sid

... takas dosyası seçeneği hakkında bir şey bilmiyordum
MrCalvin

-1

Takas alanı oluşturmanın iki yolu vardır: dosya sistemi takas ve aygıt (veya ham) takas. Dosya sistemi takas ile, bir dosya sisteminde bir dosya oluşturmak ve takas alanı (pagefile.sys içeren pencerelerde gördüğünüz gibi) olarak kullanıyorsunuz. Cihaz takası ile, takas için özel olarak oluşturduğunuz bir bölüme geçersiniz.

Hangisi daha iyi:

Bu tartışma eskiden "eski" günlerde çok daha ilginçti çünkü:

Cihaz değiştirme neden "daha iyi": Ham bir bölüme geçiş yaptığınızdan, daha hızlıdır, çünkü inodes ve diğer dosya sistemi ek yükü olan bir dosya sisteminin tüm ekstra ek yükü ile uğraşmak zorunda kalmazsınız.

Ancak bugün bu argüman gerçekten geçerli değil. Bu günlerde disk erişiminin ne kadar hızlı olduğunun evrimiyle, aygıt takası size dosya sistemi takasından çok daha fazla zaman kazandırmaz.

Dosya sistemi değişimi neden daha iyi? Boyutları değiştirmek çok daha kolay. Bölüm boyutlarını değiştirdiğinizde, yeni dosyalar oluşturmaktan çok daha zordur.

Ancak bugün birçok kişi ham bölümler yerine LVM kullanıyor, takas alanınızı küçültmek ve büyütmek kolay

BUGÜN daha da tartışmalı: Bugünlerde sunucuların çoğu performans nedeniyle, sadece bellek dolu takmanın maliyetine değer. (Bu tartışma, RAM'in gelmesi daha zor olduğunda çok daha popülerdi ve bir sunucuya sadece 4GB ila 8GB RAM koymak yaygındı)

NEDEN FILESYSTEM SWAP KULLANIRIM (ve genel olarak takas)

Bugünlerde adamlarımıza 4gig swap onl ile kurulum yapma talimatı veriyorum ve tüm linux kurulumlarımız için aynı config / image kullanıyoruz. Oracle kurulumu daha yüksek takas kullanımı gerektirir, bu nedenle Oracle'a sahip sistemlerde daha sonra dosya sistemi takasıyla geri kalanı oluşturacağım. Uygulamanız bir takas gereksinimine sahip olabilir, bu durumda daha sonra dosya sistemi takasıyla ekleyebilirsiniz.

Bu yardımcı olur mu?

Linux'ta bunun nasıl yapılacağına dair ayrıntılı talimatlar burada: http://geekswing.com/geek/how-to-add-filesystem-swap-on-linux-and-unix-systems/


1
“Bugün bu argüman gerçekten geçerli değil. Bu günlerde disk erişiminin ne kadar hızlı olduğunun evrimiyle, aygıt takası size dosya sistemi takasından çok daha fazla zaman kazandırmaz. ” - nedeni bu değil. Buradaki fikir, takas alanının acil talepte olabileceğidir . Bir dosya sisteminden geçmek, daha fazla belleğe ihtiyaç duyan ve bir döngüye yol açabilen kod yolları olan dizinleri, blokları, düğümleri, arabellek önbelleğini vb. Bu yüzden takas en iyi ham blok cihazında yapılır. Ayrıca swapfile parçalanmasını önler.
mirabilos

Bu cevap birkaç ilginç noktaya değinebilir, ancak bu soruya cevap vermiyor ...
Samuel Li
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.