Takip et

Ubuntu 14.04’e Takas Alanı (Swap) Ekleme Rehberi

Ubuntu 14.04’e Takas Alanı (Swap) Ekleme Rehberi Ubuntu 14.04, uzun süreli destek (LTS) sunan ve birçok kullanıcı tarafından hala tercih edilen

Ubuntu 14.04’e Takas Alanı (Swap) Ekleme Rehberi

Ubuntu 14.04, uzun süreli destek (LTS) sunan ve birçok kullanıcı tarafından hala tercih edilen sağlam bir işletim sistemidir. Ancak, zamanla donanım gereksinimleri artmış veya sistemin ilk kurulumunda yeterli takas alanı ayrılmamış olabilir. Bu durum, özellikle sınırlı RAM’e sahip sistemlerde veya bellek yoğun uygulamalar çalıştırırken performans düşüşlerine yol açabilir. Bu kapsamlı rehberde, Ubuntu 14.04 sisteminize nasıl güvenli ve etkili bir şekilde takas alanı ekleyeceğinizi adım adım anlatacağız.

Giriş: Takas Alanı (Swap) Nedir ve Neden Önemlidir?

Bilgisayarınızda çalışan her program ve işlem, belleğe (RAM – Rastgele Erişimli Bellek) ihtiyaç duyar. RAM, işlemcinin verilere hızlı bir şekilde erişmesini sağlayan geçici bir depolama alanıdır. Ancak RAM miktarı sınırlıdır. Sisteminizdeki tüm programlar ve işlemler için yeterli RAM olmadığında, işletim sistemi performansı artırmak ve kararlılığı sürdürmek için bir “takas alanı” (swap space) kullanmaya başlar.

Takas alanı, sabit diskinizin veya SSD’nizin bir bölümünü veya bir dosyasını sanal bellek olarak kullanır. RAM dolduğunda, işletim sistemi daha az kullanılan bellek sayfalarını takas alanına taşır ve RAM’de yeni işlemler için yer açar. Bu işlem, “sayfalama” (paging) veya “takas etme” (swapping) olarak adlandırılır. Takas alanı sayesinde, sisteminiz RAM yetersizliği nedeniyle çökmez veya aşırı yavaşlamaz, ancak sabit diskler RAM’den çok daha yavaş olduğu için takas alanı kullanımı performansta belirgin bir düşüşe neden olabilir.

Ubuntu 14.04 gibi eski veya düşük kaynaklı sistemlerde, özellikle sanal makinelerde veya eski fiziksel donanımlarda, takas alanı kritik bir rol oynar. Modern sistemlerde bile, ani bellek pikleri veya çoklu görev senaryolarında sistemin kararlılığını sağlamak için takas alanı bulundurmak iyi bir pratiktir. Takas alanı, sistemin ani bellek taleplerine karşı bir tampon görevi görerek genel sistem yanıt verebilirliğini artırır.

Takas Alanı İhtiyacını Belirleme

Takas alanı eklemeden önce, sisteminizin mevcut durumunu anlamak önemlidir. Yeterli takas alanı olup olmadığını veya ne kadar eklemeniz gerektiğini belirlemek için bazı kontroller yapabiliriz.

Mevcut Takas Alanını Kontrol Etme

Terminali açın (Ctrl+Alt+T) ve aşağıdaki komutları kullanın:

* swapon -s: Bu komut, sistemde etkin olan takas alanlarını listeler. Eğer herhangi bir çıktı vermezse, sisteminizde etkin bir takas alanı yoktur.
* free -h: Bu komut, sisteminizin toplam, kullanılan ve boş RAM miktarını ve takas alanı kullanımını insan tarafından okunabilir bir formatta gösterir. Swap: satırını kontrol edin. Eğer “Total” değeri 0B ise, takas alanınız yoktur.

Örnek çıktı:

total        used        free      shared  buff/cache   available
Mem:           1.9G        1.2G        140M        180M        580M        400M
Swap:          2.0G          0B        2.0G

Yukarıdaki örnekte, sistemde 2GB’lık bir takas alanı bulunmaktadır ve hiç kullanılmamaktadır.

Mevcut RAM Miktarını Belirleme

Sisteminizdeki toplam RAM miktarını bilmek, ne kadar takas alanı eklemeniz gerektiği konusunda size yol gösterecektir. free -h komutunun “Mem:” satırına bakarak veya cat /proc/meminfo | grep MemTotal komutunu kullanarak öğrenebilirsiniz.

Genel Takas Alanı Önerileri

Takas alanı boyutu için kesin bir kural olmamakla birlikte, genel kabul görmüş bazı yönergeler şunlardır:

* RAM 2 GB veya daha az ise: RAM miktarının iki katı kadar takas alanı önerilir. (Örn: 1GB RAM için 2GB takas)
* RAM 2 GB ile 8 GB arasında ise: RAM miktarı kadar takas alanı önerilir. (Örn: 4GB RAM için 4GB takas)
* RAM 8 GB’tan fazla ise: En az 4 GB takas alanı veya RAM’in yarısı kadar takas alanı yeterli olabilir. Bazı durumlarda, bellek yoğun iş yükleri için daha fazlası gerekebilir.
* Hibernasyon (Hazırda Bekletme) kullanılıyorsa: Hibernasyon, tüm RAM içeriğini takas alanına yazar. Bu nedenle, hibernasyon kullanmayı planlıyorsanız, takas alanınızın RAM’inizden en az RAM’iniz kadar büyük olması gerekir.

Ubuntu 14.04 kurulumunda, eğer manuel bölümleme yapmadıysanız, kurulum sihirbazı genellikle sistem için uygun bir takas bölümü oluşturur. Ancak sanal makinelerde veya minimum kurulumlarda bu her zaman geçerli olmayabilir.

Takas Dosyası ve Takas Bölümü Arasındaki Fark

Linux sistemlerinde takas alanı iki şekilde oluşturulabilir:

1. Takas Bölümü (Swap Partition): Sabit diskinizde özel olarak ayrılmış, ayrı bir bölümdür. Genellikle işletim sistemi kurulumu sırasında oluşturulur. Performans açısından genellikle takas dosyasına göre biraz daha avantajlıdır çünkü dosya sistemi katmanının üzerinde çalışmaz. Ancak boyutu sabittir ve sonradan değiştirmek daha zordur.
2. Takas Dosyası (Swap File): Sabit diskinizdeki normal bir dosya sistemi üzerinde oluşturulan özel bir dosyadır. Bu yöntem, mevcut bir bölümü yeniden boyutlandırmaya gerek kalmadan takas alanı eklemek için daha esnek ve kolay bir yoldur. Performans farkı modern sistemlerde genellikle ihmal edilebilir düzeydedir.

Bu rehberde, mevcut bir sisteme kolayca eklenebilen ve yönetilebilen takas dosyası yöntemini kullanarak takas alanı oluşturmaya odaklanacağız.

Ubuntu 14.04’e Takas Dosyası Ekleme Adımları

Takas dosyası oluşturma ve etkinleştirme süreci birkaç basit adımdan oluşur. Bu adımları sırasıyla uygulayarak sisteminize güvenli bir şekilde takas alanı ekleyebilirsiniz.

Adım 1: Takas Dosyası Oluşturma

Takas dosyasını oluşturmak için iki yaygın yöntem vardır: fallocate ve dd. fallocate komutu daha modern dosya sistemlerinde (ext4 gibi) daha hızlı ve verimlidir, çünkü dosyayı anında ayırır ve boş bloklar oluşturur. dd komutu ise daha eski dosya sistemleri veya fallocate‘un desteklenmediği durumlar için bir alternatiftir. Ubuntu 14.04 genellikle ext4 dosya sistemi kullandığından, fallocate tercih edilir.

Önerilen Yöntem: fallocate ile Takas Dosyası Oluşturma

Örneğin, 2GB boyutunda bir takas dosyası oluşturmak için:

sudo fallocate -l 2G /swapfile

Bu komut, /swapfile adında 2 gigabayt (2G) boyutunda bir dosya oluşturur. Farklı bir boyut için -l parametresini değiştirebilirsiniz (örn: 1G için 1GB, 4G için 4GB).

Alternatif Yöntem: dd ile Takas Dosyası Oluşturma

Eğer fallocate komutu sisteminizde yoksa veya bir sorunla karşılaşırsanız, dd komutunu kullanabilirsiniz. Bu komut, belirtilen boyutta bir dosya oluşturmak için /dev/zero (boş veriler sağlayan bir kaynak) kullanır.

Örneğin, 2GB boyutunda bir takas dosyası oluşturmak için:

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

* if=/dev/zero: Giriş kaynağı olarak /dev/zero dosyasını kullan (sıfırlarla dolu).
* of=/swapfile: Çıkış dosyası olarak /swapfile dosyasını kullan.
* bs=1M: Blok boyutunu 1 megabayt olarak ayarla.
* count=2048: 2048 adet 1MB’lık blok yaz (toplam 2048 MB = 2 GB).

Bu komutun tamamlanması, disk hızınıza bağlı olarak biraz zaman alabilir.

Dosyanın doğru boyutta oluşturulduğunu doğrulamak için:

ls -lh /swapfile

Çıktı, dosyanın boyutunu göstermelidir (örn: -rw-r--r-- 1 root root 2.0G May 10 10:30 /swapfile).

Adım 2: Dosya İzinlerini Ayarlama

Takas dosyası, hassas veriler içerebileceğinden ve sistemin kararlılığı için kritik olduğundan, yalnızca root kullanıcısının okuma ve yazma erişimine sahip olması önemlidir. Diğer kullanıcıların bu dosyaya erişimini engellemek için izinleri ayarlayın:

sudo chmod 600 /swapfile

* chmod 600: Bu izinler, dosyanın yalnızca sahibi (root) tarafından okunabilir ve yazılabilir olduğunu, diğer kullanıcıların ise hiçbir erişiminin olmadığını belirtir.

İzinlerin doğru ayarlandığını doğrulamak için tekrar ls -lh /swapfile komutunu kullanabilirsiniz. Çıktı şu şekilde başlamalıdır: -rw-------.

Adım 3: Takas Alanını Etkinleştirme

Takas dosyasını oluşturduktan ve izinleri ayarladıktan sonra, işletim sistemine bu dosyanın bir takas alanı olarak kullanılacağını bildirmemiz gerekir.

Önce, dosyayı bir takas alanı olarak biçimlendirin:

sudo mkswap /swapfile

Çıktı, takas alanının başarıyla ayarlandığını belirten mesajlar içermelidir, örneğin: Setting up swapspace version 1, size = 2047996 KiB (1999 MiB) ....

Ardından, takas dosyasını etkinleştirin:

sudo swapon /swapfile

Bu komut, takas dosyasını anında kullanıma sokar.

Takas alanının başarıyla etkinleştirildiğini doğrulamak için swapon -s veya free -h komutlarını kullanın. Çıktıda /swapfile girdisini görmelisiniz.

Adım 4: Takas Alanının Kalıcı Olmasını Sağlama

Şu ana kadar yaptığımız değişiklikler sistem yeniden başlatıldığında kaybolacaktır. Takas dosyasının her önyüklemede otomatik olarak etkinleştirilmesi için /etc/fstab dosyasına bir giriş eklememiz gerekir.

/etc/fstab dosyasını bir metin düzenleyici ile açın. nano kullanmak en kolay yöntemlerden biridir:

sudo nano /etc/fstab

Dosyanın sonuna aşağıdaki satırı ekleyin:

/swapfile none swap sw 0 0

* /swapfile: Takas dosyasının yolu.
* none: Takas dosyaları için monte noktası belirtilmez.
* swap: Dosya sisteminin tipi.
* sw: Takas alanına özgü seçenekler.
* 0 0: Son iki rakam, dump ve fsck için kullanılır ve takas dosyaları için genellikle 0 olarak ayarlanır.

Dosyayı kaydedin (Ctrl+O, Enter) ve kapatın (Ctrl+X).

Bu değişikliklerin doğru olduğunu ve bir sonraki önyüklemede herhangi bir sorun yaratmayacağını test etmek için, tüm takas alanlarını kapatıp tekrar etkinleştirebilirsiniz:

sudo swapoff -a
sudo swapon -a

Ardından free -h komutu ile takas alanının tekrar etkinleştirildiğini doğrulayın. Her şey yolundaysa, sisteminiz yeniden başlatıldığında takas dosyası otomatik olarak etkinleşecektir.

Takas Alanı Ayarlarını Optimizasyon (Swappiness)

Takas alanı ekledikten sonra, sistemin takas alanını ne kadar agresif kullanacağını belirleyen “swappiness” ayarını optimize etmek isteyebilirsiniz. swappiness, Linux çekirdeğinin ne kadar hevesle RAM’deki verileri takas alanına taşıyacağını kontrol eden bir değerdir.

* swappiness değeri 0 ile 100 arasında değişir:
* 0: Çekirdek, mümkün olduğunca takas alanına yazmaktan kaçınır ve yalnızca RAM tamamen dolduğunda takas kullanır.
* 100: Çekirdek, çok daha agresif bir şekilde takas alanına yazar ve RAM’de hala boş yer varken bile verileri takasa taşır.

Varsayılan swappiness değeri genellikle 60’tır. Bu, sistemin RAM’in %40’ı dolduğunda takas kullanmaya başlayacağı anlamına gelir. Ancak masaüstü sistemleri veya düşük I/O yüküne sahip sunucular için bu değer genellikle çok yüksektir ve gereksiz takas kullanımına yol açarak performansı düşürebilir.

Mevcut swappiness Değerini Kontrol Etme

cat /proc/sys/vm/swappiness

Çıktı genellikle 60 olacaktır.

swappiness Değerini Değiştirme

Geçici olarak değiştirme:

sudo sysctl vm.swappiness=10

Bu komut, swappiness değerini hemen 10’a ayarlar. Ancak bu değişiklik sistem yeniden başlatıldığında kaybolur.

Kalıcı olarak değiştirme:
swappiness değerini kalıcı olarak değiştirmek için /etc/sysctl.conf dosyasını düzenlemeniz gerekir:

sudo nano /etc/sysctl.conf

Dosyanın sonuna aşağıdaki satırı ekleyin:

vm.swappiness=10

Masaüstü sistemleri için 10-20 arası bir değer genellikle iyi bir denge sağlar. Sunucular için ise 0-10 arası bir değer tercih edilebilir, bu da diske yazma işlemlerini minimuma indirir.

Dosyayı kaydedin (Ctrl+O, Enter) ve kapatın (Ctrl+X).

Değişiklikleri hemen uygulamak için:

sudo sysctl -p

Bu komut, /etc/sysctl.conf dosyasındaki tüm ayarları yeniden yükler.
cat /proc/sys/vm/swappiness komutu ile yeni değeri doğrulayabilirsiniz.

Önbellek Basıncını Yönetme (vfs_cache_pressure)

vfs_cache_pressure ayarı, Linux çekirdeğinin dizin ve inode önbelleklerini ne kadar agresif bir şekilde geri kazanacağını kontrol eder. Bu önbellekler, dosya sistemi işlemlerini hızlandırmak için kullanılır.

* vfs_cache_pressure değeri 0 ile 100 arasında değişir:
* 0: Çekirdek, dizin ve inode önbelleklerini mümkün olduğunca RAM’de tutmaya çalışır. Bu, dosya sistemi işlemlerini hızlandırabilir ancak diğer programlar için daha az RAM bırakabilir.
* 100: Çekirdek, dizin ve inode önbelleklerini daha agresif bir şekilde serbest bırakır. Bu, diğer programlar için daha fazla RAM sağlar ancak dosya sistemi işlemlerini yavaşlatabilir.

Varsayılan değer genellikle 100’dür. Çoğu durumda, bu değeri değiştirmeye gerek yoktur. Ancak, çok fazla dosya sistemi işlemi yapan veya düşük RAM’e sahip sistemlerde bu değeri düşürmek faydalı olabilir.

Mevcut vfs_cache_pressure Değerini Kontrol Etme

cat /proc/sys/vm/vfs_cache_pressure

Çıktı genellikle 100 olacaktır.

vfs_cache_pressure Değerini Değiştirme

swappiness gibi, vfs_cache_pressure değerini de geçici veya kalıcı olarak değiştirebilirsiniz.

Geçici olarak değiştirme:

sudo sysctl vm.vfs_cache_pressure=50

Kalıcı olarak değiştirme:
/etc/sysctl.conf dosyasını açın:

sudo nano /etc/sysctl.conf

Dosyanın sonuna aşağıdaki satırı ekleyin:

vm.vfs_cache_pressure=50

Dosyayı kaydedin ve kapatın. Değişiklikleri uygulamak için:

sudo sysctl -p

Bu değeri çok düşük ayarlamak, sistemin daha fazla RAM kullanmasına neden olabilir, bu da takas kullanımını artırabilir. Genellikle 50-100 arasında kalması önerilir.

Takas Alanını Doğrulama ve İzleme

Takas alanınızı başarıyla yapılandırdıktan sonra, doğru çalıştığından emin olmak ve kullanımını izlemek için bazı komutları kullanabilirsiniz:

* swapon -s: Etkin takas alanlarının bir özetini gösterir.
* free -h: RAM ve takas alanı kullanımını özetler.
* top veya htop: Bu araçlar, sistem kaynaklarının (CPU, RAM, Takas) gerçek zamanlı kullanımını gösterir. htop daha kullanıcı dostu bir arayüze sahiptir ve genellikle paket yöneticisi aracılığıyla kurulabilir (sudo apt-get install htop).

Bu komutlar, sisteminizin takas alanını ne zaman ve ne kadar kullandığını anlamanıza yardımcı olacaktır.

Takas Alanını Kaldırma (İsteğe Bağlı)

Bir noktada, takas dosyasını kaldırmak isteyebilirsiniz (örneğin, daha fazla RAM eklediğinizde veya farklı bir takas yapılandırmasına geçmek istediğinizde). Takas dosyasını kaldırmak için aşağıdaki adımları izleyin:

1. Takas dosyasını devre dışı bırakın:

sudo swapoff /swapfile

Bu komut, sistemin takas dosyasını kullanmayı bırakmasını sağlar.
2. /etc/fstab dosyasından girişi kaldırın:

sudo nano /etc/fstab

Eklediğiniz /swapfile none swap sw 0 0 satırını silin veya başına # ekleyerek yorum satırı haline getirin. Dosyayı kaydedin ve kapatın.
3. Takas dosyasını silin:

sudo rm /swapfile

Bu komut, takas dosyasını kalıcı olarak siler.

Bu adımları tamamladıktan sonra, sisteminizde artık bu takas dosyası etkin olmayacaktır.

Sıkça Sorulan Sorular ve Sorun Giderme

1. Takas alanı ne kadar olmalı?
Yukarıda belirtilen genel yönergeleri takip edin: RAM 2GB’tan az ise 2xRAM, 2-8GB arası ise 1xRAM, 8GB’tan fazla ise en az 4GB veya RAM’in yarısı. Hibernasyon kullanıyorsanız RAM kadar veya daha fazlası. İhtiyaçlarınız ve iş yükünüz en iyi göstergedir.

2. SSD’lerde takas alanı kullanmak ömrünü kısaltır mı?
Evet, teorik olarak SSD’ler sınırlı yazma döngülerine sahiptir ve takas alanı sürekli yazma işlemleri yapabilir. Ancak modern SSD’ler çok daha dayanıklıdır ve günlük kullanımda takas alanı nedeniyle ömrünün önemli ölçüde kısalması pek olası değildir. Performans ihtiyacı varsa, SSD üzerinde takas alanı kullanmak genellikle kabul edilebilir bir ödünleşmedir. Eğer performans kritikse ve RAM yetersizliği sık sık yaşanıyorsa, takas alanı kullanmak sistemin tamamen kilitlenmesinden veya çökmesinden daha iyidir.

3. Takas alanı oluştururken “Disk alanı yok” hatası alıyorum.
Bu hata, takas dosyasını oluşturmaya çalıştığınız bölümde yeterli boş alan olmadığı anlamına gelir. df -h komutu ile disk kullanımınızı kontrol edin ve takas dosyasını oluşturmak için yeterli alana sahip bir bölüme sahip olduğunuzdan emin olun.

4. mkswap veya swapon komutları hata veriyor.
* mkswap: /swapfile: warning: wiping old swap signature.: Bu genellikle bir uyarıdır ve dosyanın daha önce takas alanı olarak kullanılmış olabileceğini gösterir. Genellikle güvenle devam edebilirsiniz.
* mkswap: error: /swapfile: file has holes or is not a regular file.: Bu, fallocate yerine dd kullanıldığında veya dosya sisteminin fallocate‘u tam olarak desteklemediği durumlarda ortaya çıkabilir. dd komutunu kullanarak tekrar deneyin.
* swapon: /swapfile: read swap header failed: Invalid argument: Dosyanın mkswap ile doğru bir şekilde biçimlendirilmediğini gösterir. sudo mkswap /swapfile komutunu tekrar çalıştırdığınızdan emin olun.
* swapon: /swapfile: insecure permissions 0644, 0600 expected.: Dosya izinlerinin doğru ayarlanmadığını gösterir. sudo chmod 600 /swapfile komutunu çalıştırarak izinleri düzeltin.

5. Sistemimde zaten bir takas bölümü var, yine de takas dosyası eklemeli miyim?
Eğer mevcut takas bölümünüzün boyutu yeterli değilse ve sisteminizde hala bellek sorunları yaşıyorsanız, ek bir takas dosyası eklemek faydalı olabilir. Linux çekirdeği, birden fazla takas alanını aynı anda yönetebilir.

Sonuç

Ubuntu 14.04 sisteminize takas alanı eklemek, özellikle sınırlı RAM’e sahip eski donanımlarda veya yoğun bellek kullanan uygulamalar çalıştırırken sistem performansını ve kararlılığını önemli ölçüde artırabilir. Bu rehberde açıklanan adımları takip ederek, sisteminize kolayca bir takas dosyası ekleyebilir, izinlerini ayarlayabilir, kalıcı hale getirebilir ve swappiness gibi önemli ayarları optimize edebilirsiniz. Unutmayın ki takas alanı, RAM’in yerini tutmaz; ideal olan yeterli fiziksel RAM’e sahip olmaktır. Ancak takas alanı, sisteminizin ani bellek talepleriyle başa çıkmasına yardımcı olan değerli bir kaynaktır. Bu yapılandırmalar sayesinde Ubuntu 14.04 sisteminizden en iyi performansı alabilirsiniz.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version