Linux Takas Dosyası (Swap) Alanı Ekleme
Linux sunucumu / masaüstü sistem performansımı iyileştirmek için ek takas alanına ihtiyacım var. Yeni bölümler oluşturmadan komut satırı seçeneklerini kullanarak Linux sistemine nasıl takas dosyası eklerim?
Linux'ta, diğer birçok Unix benzeri işletim sisteminde olduğu gibi, takas için bir sabit diskin bütün bir bölümünü kullanmak yaygındır. Bununla birlikte, 2.6 Linux çekirdeği ile, takas dosyaları takas bölümleri kadar hızlıdır, ancak ben bir takas bölümü kullanmanızı öneririm. Takas dosyalarının yönetimsel esnekliği bölümlerinkinden daha ağır basmaktadır; Modern yüksek kapasiteli sabit diskler fiziksel sektörleri yeniden eşleştirebildiğinden, hiçbir bölümün bitişik olması garanti edilmez. Takas dosyasını ayrılmış bir bölüm olarak ekleyebilir veya bir takas dosyası oluşturmak için aşağıdaki talimatları kullanabilirsiniz.
ddTakas dosyası oluşturmak için komutu kullanmanız gerekir . mkswapKomutu bir aygıtta veya bir dosya üzerinde Linux takas alanını ayarlamak için kullanılır.
Adım 1 - Kök Kullanıcı Olarak Giriş Yapın
Bir terminal penceresi açın (Uygulamalar> Aksesuarlar> Terminal'i seçin) veya ssh istemcisini kullanarak uzak sunucuda oturum açın. su -(Veya sudo -s) yazarak ve sorulduğunda root şifresini girerek root kullanıcısına geçin :
$ su -
VEYA
$ sudo -s
Adım 2 - Depolama Dosyası Oluşturun
512MB takas dosyası (1024 * 512MB = 524288 blok boyutu) oluşturmak için aşağıdaki komutu yazın:
# dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
Örnek çıktılar:
524288 + 0 kayıt 524288 + 0 kayıt 536870912 bayt (537 MB) kopyalandı, 3.23347 sn, 166 MB / sn
Nerede,
- if=/dev/zero: / Dev / zero dosyasından okuyun. / dev / zero, / swapfile1 adlı depolama dosyası oluşturmak için gereken sayıda boş karakter sağlayan özel bir dosyadır.
- of=/swapfile1 : / Dev / zero write storage dosyasından / swapfile1'e okuyun.
- bs=1024 : Bir seferde 1024 BYTES bayt okuyun ve yazın.
- count=524288 : Yalnızca 523288 BLOCKS giriş bloklarını kopyalayın.
3. Adım - Takas dosyasını güvenli hale getirin
Güvenlik nedenleriyle doğru dosya iznini ayarlayın, şunu girin: Herkes tarafından okunabilir bir takas dosyası büyük bir yerel güvenlik açığıdır. Yukarıdaki komutlar, yalnızca kök kullanıcının dosyayı okuyup yazabilmesini sağlar.
# chown root:root /swapfile1
# chmod 0600 /swapfile1
Adım 4 - Bir Linux takas alanı oluşturun
Bir dosyada Linux takas alanı ayarlamak için aşağıdaki komutu yazın:
# mkswap /swapfile1
Örnek çıktılar:
Takas alanı sürüm 1, boyut = 524284 KiB'yi ayarlama etiket yok, UUID = 0e5e7c60-bbba-4089-a76c-2bb29c0f0839
Adım 5 - Takas dosyasını etkinleştirme
Son olarak, derhal / swapfile1 takas alanını etkinleştirin, şunu girin:
# swapon /swapfile1
Adım 6 - / etc / fstab dosyasını güncelleyin
Linux sistemi yeniden başlatıldıktan sonra / swapfile1'i etkinleştirmek için / etc / fstab dosyasına giriş ekleyin. Bu dosyayı vi gibi bir metin düzenleyici kullanarak açın:
# vi /etc/fstab
Şu satırı ekleyin:
/swapfile1 none swap sw 0 0
Dosyayı kaydedin ve kapatın. Yeniden başlatmanın ardından Linux bir dahaki sefere geldiğinde, yeni takas dosyasını sizin için otomatik olarak etkinleştirir.
Linux takas dosyasının etkinleştirilip etkinleştirilmediğini nasıl doğrularım?
Ücretsiz komutu kullanın:
$ free -m
önbelleğe alınan toplam kullanılan ücretsiz paylaşılan arabellek sayısı
Mem: 1876 1798 77 0119 1440
- / + tamponlar / önbellek: 237 1638
Takas: 4607 0 4607
Linux'ta takas kullanım özetini nasıl görüntüleyebilirim?
Aşağıdaki swapon komutunu yazın:
# swapon -s
Örnek çıktılar:
Dosya adı Türü Kullanılan Boyut Öncelik
/ dev / sda6 bölümü 4194296 0 0
/ swapfile1 dosyası 524280 0-1
Diğer bir seçenek de / proc / meminfo dosyasını görüntülemektir: Örnek çıktılar:
$ less /proc/meminfo
$ grep -i --color swap /proc/meminfo
Takas Önbelleğe Alınmış: 30748 kB SwapToplam: 6291448 kB SwapFree: 6154008 kB
Takas kullanımıyla ilgili bilgileri görüntülemek için top komutunu, atop komutunu ve / veya htop komutunu da kullanabilirsiniz: Bir CentOS Linux sunucusunda çalışan bir veritabanı sunucusundan örnek çıktılar:
# top
# atop
# htop
1 [|| % 3.9] Görevler: 171, 106 thr; 1 koşu 2 [% 0.0] Yük ortalaması: 0.06 0.12 0.09 3 [|| 2.0%] Çalışma Süresi: 22 gün, 07:07:28 4 [% 0.0] 5 [% 0.0] 6 [% 0.0] 7 [% 0.0] 8 [% 0.0] Mem [|||||||||||||||| 2112 / 11909MB] Swp [| 134 / 6143MB] PID KULLANICI PRI NI VIRT RES SHR S CPU% MEM% TIME + Command 8523 mysql 20 0 4545M 414M 4816 S 0.0 3.5 0: 00.00 / usr / libexec / mysq 8524 mysql 20 0 4545M 414M 4816 S 0.0 3.5 0: 02.74 / usr / libexec / mysq 8525 mysql 20 0 4545M 414M 4816 S 0.0 3.5 0: 16.17 / usr / libexec / mysq 8526 mysql 20 0 4545M 414M 4816 S 0.0 3.5 0: 06.33 / usr / libexec / mysq 8528 mysql 20 0 4545M 414M 4816 S 0.0 3.5 4: 02.14 / usr / libexec / mysq 8529 mysql 20 0 4545M 414M 4816 S 0.0 3.5 5: 22.00 / usr / libexec / mysq 8530 mysql 20 0 4545M 414M 4816 S 0.0 3.5 0: 04.63 / usr / libexec / mysq 8531 mysql 20 0 4545M 414M 4816 S 0.0 3.5 0: 50.95 / usr / libexec / mysq 8532 mysql 20 0 4545M 414M 4816 S 0.0 3.5 0: 08.10 / usr / libexec / mysq 9359 mysql 20 0 4545M 414M 4816 S 0.0 3.5 22: 53.28 / usr / libexec / mysq
Linux'ta sayfalama ve takas için aygıtları ve dosyaları nasıl devre dışı bırakabilirim?
Swapoff komutunu kullanmanız gerekir:
# swapoff /swapfile1
# swapon -s
Bir Linux sunucusunda takas özelliğini nasıl ayarlayabilirim?
Sözdizimi şöyledir: VEYA Dosyadaki değer , çekirdeğin bellek sayfalarını ne kadar agresif bir şekilde değiştireceğini kontrol eder. Daha yüksek değerler saldırganlığı artırır, daha düşük değerler saldırganlığı azaltır. Varsayılan değer 60'tır. Değişiklikleri kalıcı yapmak için aşağıdaki satırı şuraya ekleyin :
# sysctl vm.swappiness=VALUE
# sysctl vm.swappiness=20
# echo VALUE > /proc/sys/vm/swappiness
# echo 30 > /proc/sys/vm/swappiness
/proc/sys/vm/swappiness/etc/sysctl.conf
echo 'vm.swappiness = 30' >> / etc / sysctl.conf
Kaynak