BÜYÜK ARA NOT -2 :
Debian Dağıtım Ve Ubuntu Dağıtım Tabanlı GNU-Linux Çalıştıran SSD Disklerin Kullanımında Dikkat Edilecek Hususlar
- Oldukça yeni bir Linux (çekirdek) kullanın
- SSD için en son üretici yazılımını kullanın
- Sorunları kontrol etmek için " sudo smartctl -a /dev/sda " gibi bir komut kullanın .
- Donanım yazılımını gerektiği gibi güncelleyin.
- Nedeniniz yoksa ext4 dosya sistemini (en son sürüm dosya sistemi) kullanın.
- Normal iş yükleri altında takas alanı olmadan çalışmak için yeterli DRAM gerekir.
- Tüm DRAM içeriğini hazırda bekletme için güvenli bir şekilde kaydetmek için DRAM'inizden daha büyük bir takas bölümüne ihtiyacınız var.
- SSD boyutunuz DRAM boyutunuz için çok küçükse, takasınızı daha büyük klasik HDD'ye yerleştirmeyi düşünün.
- Çok miktarda yazma (günde 40-50 GB'den fazla) yapmayı planlıyorsanız, TLC NAND kullanan SSD'lerden kaçınmanız önerilir.
SSD Diskleri Sistem'e Bağlama
SSD'lerin performansı ayrıca dosya sistemi bağlama seçeneklerinden de etkilenir:
- Bir dosya okunduğunda disk yazmalarını devre dışı bırakmak (veya önemli ölçüde azaltmak) için /etc/fstab dosyasına "noatime" (veya varsayılan "relatime") bağlama seçeneğini ekleyin.
- Bu, hem SSD'ler hem de HDD'ler için dosya sistemi okuma performansını iyileştirir.
- İstenirse , otomatik çevrimiçi TRIM için "at" dosya sistemi seçeneklerini etkinleştirin.
- LVM'nin lvremove'da atılmasını istiyorsanız, LVM için /etc/lvm/lvm.conf dosyasında "issue_discards" seçeneğini ayarlayın.dm-crypt için /etc/crypttab içinde "at" seçeneğini ayarlayın.
- Haftalık TRIM'i etkinleştir.
Bash:
sudo systemctl enable fstrim.timer
Bash:
sudo systemctl start fstrim.timer
Dosya sistemi seçeneklerini değiştirdikten sonra, tüm initramfs görüntülerindeki ayarları güncelleyin:
Bash:
sudo update-initramfs -u -k all
RAMDISK Aracılığıyla SSD Yazma Frekansının Azaltılması [SDD Disk'in Ekonomik Teknik Ömrünün Uzaltılması/Uzaltılabilme Linux Desteği]
RAMDISK'in kullanılması, sürekli değişen dosyaların SSD'ye yazılmasını engelleyebilir (takas yoluyla SSD'ye yazılabilir).RAMDISK yapılandırması şu şekilde yapılabilir:
- sistem tarafından yönetilen ramdiskleri etkinleştirme :Elbette, sisteminiz (/ veya /tmp tutan dosya sistemi) SSD'de değilse, bu SSD'ye yazmayı iyileştirmeyecektir.
Bash:
sudo cp /usr/share/systemd/tmp.mount /etc/systemd/system/
Bash:
sudo systemctl enable tmp.mount
- systemd'yi kullanarak /etc/default/tmpfs içinde RAMTMP, RAMRUN ve RAMLOCK'u "yes" olarak ayarlayın.
- /etc/fstab: "tmpfs /tmp tmpfs noatime,nosuid 0 0" gibi satır
- İsteğe bağlı olarak, sistemin verileri diske yalnızca her 10 dakikada bir veya daha fazla temizlemesini sağlayın:
- "dirty_buffer_ratio" vb. gibi çekirdek ayarları.yalnızca yola/bağlamaya özgü olmayan genel ayarlar olarak kullanılabilir.
- /etc/fstab dosyasının en alt satırına "commit=600" seçeneğini yazın.
Kalıcı RAMDISK
Gelişmiş bir seçenek olarak, her şey-sync-daemon veya goanysync kurulumuyla kalıcı RAMDISK (periyodik olarak ve başlatma/kapatma sırasında eşitlenen özel okuma/yazma RAM arabelleği) kullanmayı düşünebilirsiniz:
- /home (günde yalnızca bir kez work-data-fs raid ile senkronize edildi mi?), sadece ayarları riske atıyorsunuz /home/*/work-data içindeki gerçek çalışma özel bir raidde
- /home/*/work-data/volatile (daha sık mı senkronize ediliyor, saatte bir mi?)
- /home/*/İndirilenler (günde bir kez toplu veri-fs ile senkronize mi ediliyor?)
- /var destekleniyorsa tamamen (günde bir kez eşitleme? dönüşleri önler ve /var'ı SSD'ye kaydetmeye izin verir), en azından bunu şu şekilde ayarlayın:
- /var/log destekleniyorsa
- /var/cache/apt/arşivler
- Senkronize edilecek verileri en aza indirmek için yüklemeden sonra paket dosyalarını silmek için apt'yi yapılandırın.
Düşük Gecikmeli IO-Zamanlayıcı
NVMe, geleneksel G/Ç zamanlayıcısı yerine blk-mq modülünü kullandığından, SATA yerine NVMe protokolünü kullanan SSD'ler için bu adım gerekli değildir.
Varsayılan G/Ç zamanlayıcı, SSD'ler için gerekli olmayan HDD'lerdeki aramaları en aza indirmek için verileri sıraya koyar.Bu nedenle, toplu işlemlerin küçük işlemleri yavaşlatmamasını sağlayan "son tarih" zamanlayıcısını kullanın:
sysfsutils'i (
Bash:
apt-get -u install sysfsutils
kurun ve ;
Bash:
# echo "block/sdX/queue/scheduler = deadline" >> /etc/sysfs.conf
(sdX'i SSD'nize uyacak şekilde ayarlayın) yeniden başlatın veya
Bash:
# echo deadline > /sys/block/sdX/queue/scheduler
Farklı sürücü tiplerine sahip sistemlerde, ayarları bir udev kuralı ile düzenleyebilirsiniz ( /etc/udev/rules.d/60-ssd-scheduler.rules oluşturun):
Bash:
# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
Çekirdeğin SSD'leri bilip bilmediğini (algılama olayı) kontrol etmek için şunu deneyin:
Bash:
# for f in /sys/block/sd?/queue/rotational; do printf "$f is "; cat $f; done
/sys/block/sda/queue/rotational is 1
/sys/block/sdb/queue/rotational is 1
/sys/block/sdc/queue/rotational is 0 <=== Only this is SSD!
Bash:
$ grep . /sys/block/sd?/queue/rotational
/sys/block/sda/queue/rotational:1
/sys/block/sdb/queue/rotational:1
/sys/block/sdc/queue/rotational:0 <=== Only this is SSD!
Zamanlayıcıyı manuel olarak değiştirmek için:
Bash:
# echo deadline > /sys/block/$YOURDRIVE/queue/scheduler
Sonuçları görmek için:
Bash:
# for f in /sys/block/sd?/queue/scheduler; do printf "$f is "; cat $f; done
/sys/block/sda/queue/scheduler is noop deadline [cfq]
/sys/block/sdb/queue/scheduler is noop deadline [cfq]
/sys/block/sdc/queue/scheduler is noop [deadline] cfq <== That is!
Bash:
$ grep . /sys/block/sd?/queue/scheduler
/sys/block/sda/queue/scheduler:noop deadline [cfq]
/sys/block/sdb/queue/scheduler:noop deadline [cfq]
/sys/block/sdc/queue/scheduler:noop [deadline] cfq <== That is!
"
noop" zamanlayıcı, verimi en üst düzeye çıkaran kıyaslamalarda biraz daha hızlı olabilir, ancak bu zamanlayıcı, büyük dosya aktarımları devam ederken diğer görevler için gözle görülür gecikmelere neden olur.
Örnek Bir Sistemin "/etc/fstab" Sistem Dosyası :
Bash:
# /etc/fstab: statik dosya sistemi bilgisi.
#
# Evrensel benzersiz tanımlayıcıyı yazdırmak için 'vol_id --uuid' kullanın
# cihaz; bu, cihazları adlandırmanın daha sağlam bir yolu olarak UUID= ile kullanılabilir
# diskler eklenip çıkarılsa bile çalışır. Bkz. fstab(5).
#
# <dosya sistemi> <bağlama noktası> <tür> <seçenekler> <döküm> <geçiş>
### SSD: at,noatime
### /etc/pm/config.d/* klasörüne dosya ekle bölümünde JOURNAL_COMMIT_TIME_AC işlemi için varsayılan pil işlemiyle eşleşir
/dev/mapper/goofy-root / ext4 atma,noatime,commit=600,errors=remount-ro 0 1
# /boot, kurulum sırasında /dev/sda1 üzerindeydi
UUID=709cbe4a-80c1-46cb-8bb1-dbce3059d1f7 /boot ext4 atma,noatime,commit=600,varsayılanlar 0 2
### SSD: atın
/dev/mapper/goofy-swap yok sw takası,at 0 0
/dev/mapper/goofy-chroot /srv/chroot btrfs ssd,discard,noatime 0 2
/dev/scd0 /media/cdrom0 udf,iso9660 kullanıcı,noauto 0 0
Örnek Bir Sistemin "/etc/lvm/lvm.conf" Sistem Dosyası :
Dosya sistemi atma için bu ayara ihtiyacınız yoktur; LVM'nin lvremove vb.Bunu manuel olarak yapmayı tercih ederseniz, kaldırılacak LV'de blkdiscard kullanın.
Bash:
...
# Bu bölüm, hangi blok cihazlarının gerekli olduğunu yapılandırmanıza izin verir.
# LVM sistemi tarafından kullanılabilir.
cihazlar {
...
# Sayı, aşağıdaki durumlarda mantıksal birimlerin altında yatan fiziksel birim(ler)e atar:
# mantıksal birim artık fiziksel birimlerin alanını kullanmıyor (örn.
# lvremove, lvreduce, vb.). Atılanlar, depolamayı bir bölgenin olduğu konusunda bilgilendirir.
# Artık kullanımda değil. Atılanları destekleyen depolama, protokolün reklamını yapar
# belirli bir şekilde atmalar çekirdek tarafından verilmelidir (TRIM, UNMAP veya
# UNMAP bit seti ile AYNI YAZIN). Tüm depolama alanları desteklemez veya fayda sağlamaz
# atılır, ancak SSD'ler ve az miktarda sağlanan LUN'lar genellikle yapar. ayarlanırsa
#'den 1'e kadar, atmalar yalnızca hem depolama hem de çekirdek sağlarsa verilecektir
# destek.
# 1 etkinleştirir; 0 devre dışı bırakır.
#issue_discards = 0
issue_discards = 1
}
...
Çekirdek İçin sysctl'ye vm.swappiness Ekleme :
Daha uzun ömürlü SDD için aşağıdakilerin /etc/sysctl.conf.d/ içine eklenmesi :
Kullandığınız bir metin editörün .conf dosyasını açın ve en alt satıran şunları ekleyin :
Dosya Açma :
Bash:
# gedit /etc/sysctl.d/local.conf
Komut Ekleme :
Bash:
#vm.swappiness=0
vm.swappiness=1
Not :
vm.swappiness=0 ayarı daha agresiftir ancak yetersiz bellek olaylarına neden olabilir. Ve ayrıca, vm.swappiness, G/Ç performansında önemli bir gelişme olabilir.
ZRam İle Takas Faaliyetlerini Azaltın....
ZRam (diğer adıyla compcache) kullanarak sistem belleğinin (RAM) içeriğinde veri sıkıştırma kullanmak mümkündür.Bu, mevcut sistem belleğine çok daha fazlasını doldurma yeteneği için bazı CPU döngülerinde etkili bir şekilde işlem yapar ve böylece bellek sayfalarını SSD'ye değiştirme ihtiyacını azaltır.Özellikle CPU üzerinde hafif olan ve yine de bu tür içerik üzerinde tipik olarak yaklaşık 1:3 sıkıştırma sağladığı söylenen özel yüksek hızlı veri sıkıştırma algoritmaları kullanır.Sıkıştırma, aygıtları değiştirmek için yazmaktan tipik olarak daha hızlı olduğundan, aşırı miktarda fiziksel belleğe sahip olmayan sistemlere performans iyileştirmeleri de getirir.
Bellenimi (firmware) Yükseltme
Firmware hatalarından dolayı bazı problemler ortaya çıkabilir.Bu nedenle, bellenimi güncellemek için uyarıları kontrol etmek için smartctl (terminal) veya GSmartControl (GUI) gibi araçlar kullanın.Normalde üretici, önyüklenebilir CD ISO görüntüleri olarak mevcut olan güncelleme araçları içinde paketlenmiş bu tescilli üretici yazılımı görüntülerini sağlar.
Syslinux tarafından başlatılan FreeDOS'u kullanmaları durumunda, CD'den önyükleme yapmak yerine, (disket) görüntüyü ISO'nun içine çıkarabilir ve GRUB2 önyükleme menünüzde yeni bir giriş oluşturabilirsiniz.
Crucial m4 üretici yazılımı güncellemesi için
syslinux.cfg şöyle görünür:
Kod:
LABEL default
KERNEL memdisk
append initrd=boot2880.img floppy raw
Memdisk ve
boot2880.img dosyalarının önyükleme bölümüne kopyalanması, /etc/grub.d/40_custom içine bir giriş ekleyerek bunların GRUB2'den başlatılmasını
sağlar :
Bash:
# assuming an ext2 boot partition on (hd0,5) -- compare to your other GRUB2 entries
menuentry "m4 firmware update" {
insmod ext2
linux16 (hd0,5)/isos/m4memdisk floppy raw
initrd16 (hd0,5)/isos/boot2880.img
}
Daha sonra değişiklikleri uygulamak için
'u çalıştırın .Yeniden başlatın ve oluşturulan önyükleme girişini seçin, ardından üretici yazılımı güncelleme menüsünü izleyin.Tamamlandıktan sonra bilgisayarı yeniden başlatın.
Kaynak Çeviri :
HTML:
https://wiki.debian.org/SSDOptimization (kısmi çeviri)
Çeviri Yazarı : TRWE_2012