Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

SSD Diskler'de "TRIM" Fonksiyonun GNU/Linux Dağıtımlarında Kullanılması Nasıl'dır?

TRWE_2012

لِيَغْفِرَ لَكَ اللّٰهُ مَا تَقَدَّمَ مِنْ ذَنْبِك
Moderatör
Konum
BERTUNA
  • Üyelik Tarihi
    2 Haz 2020
  • Mesajlar
    5,275
  • MFC Puanı
    15,970
SSD (Solid State Drive) bir diskiniz varsa, diskinizde fazlalıklar istemeyebilirsiniz, bazı tmp, log gibi dizinleri her açılışta tazelenmesini isteyebilirsiniz.

Tabi önemli gördüğünüz dizinleri eklemeyebilirsiniz, burada bahsedilen ayarları geri almayı bilmiyorsanız bu ayarları hiç yapmayınız(!)
Ayrıca bu tip ayarlar neticesinde sisteminiz de hatalar da olabilir,DİKKATLİ OLUNUZ!

Kısaca burada ki ayarlar Debian 9 + LXQT + Samsung SSD 750 EVO 250GB SSD disk üzerinde yapılmıştır.

Kod:
# smartctl -i /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-4-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     Samsung SSD 750 EVO 250GB
Serial Number:    S33SNWAH935781H
LU WWN Device Id: 5 002538 d7039a825
Firmware Version: MAT01B6Q
User Capacity:    250.059.350.016 bytes [250 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 1.5 Gb/s)
Local Time is:    Sun Feb 18 23:04:02 2018 +03
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

1.Adım:

/tmp, /var/tmp, /var/log, /var/spool

Bu dizinlerin her açılışta sıfırlanması için fstab'a ekleyebilirsiniz.

/etc/fstab dosyasına;

Kod:
none /tmp tmpfs defaults,noatime,mode=1777 0 0
none /var/tmp tmpfs defaults,noatime 0 0
none /var/log tmpfs defaults,noatime 0 0
none /var/spool tmpfs defaults,noatime 0 0

Sistemi yeniden başlatmak gerekir.

Dosyaya eklenip eklenmediğini
Kod:
mount
komutu ile kontrol ediniz.

2.Adım:

SSD disklerde TRIM 'i etkinleştirmek için /etc/cron.weekly/fstrim_job 'a bu satırı ekleyin.
(Dosya yoksa yeniden oluşturun.)

Kod:
#!/bin/sh
#
# To find which FS support trim, we check that DISC-MAX (discard max bytes)
# is greater than zero. Check discard_max_bytes documentation at
# https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt
#
for fs in $(lsblk -o MOUNTPOINT,DISC-MAX,FSTYPE | grep -E '^/.* [1-9]+.* ' | awk
'{print $1}'); do
fstrim "$fs"
done

Sistemi yeniden başlatmak gerekir.

TRIM TEST :

Kod:
# lsblk -o MOUNTPOINT,DISC-MAX,FSTYPE

Böyle bir satır gelirse TRIM ayarı olmamış demektir.
Kod:
MOUNTPOINT DISC-MAX FSTYPE
/ 0B ext4

Olması gereken böyledir.
Kod:
MOUNTPOINT DISC-MAX FSTYPE
/ 1G ext4

veya bu da olabilir.

Kod:
lsblk -i -o NAME,MOUNTPOINT,DISC-MAX,FSTYPE,UUID

veya bu da olabilir.

Kod:
# fstrim -v /

Çıktısı buna benzeyecektir.
Kod:
/: 28 GiB (30020276224 bytes) trimmed

3.Adım:

Tarayıcıların varsayılan "cache" dizinini değiştireceğiz.

Önce Firefox
Adres satırına
Kod:
about:config
yaz. Çıkan kutuyu onayla ve bu komutu yaz.

Kod:
browser.cache.disk.parent_directory

Boş çıkarsa ortaya sağ tık > Yeni > Dizgi > ilk kutuya bunu yapıştır.

Kod:
browser.cache.disk.parent_directory

İkinci kutuya da bunu

Kod:
/run/user/1000/firefox-cache
e tamam deyin.

Ardından konsolda bunu döndürün.

Kod:
$ mkdir -p /run/user/1000/firefox-cache

ve firefox'u yeniden başlatın.

/run/user/1000/firefox-cache dizinini kontrol edin, içine dizin açılmış mı? dizin varsa işlem tamam.

Opera ve Chromium

Opera ve Chromium ayarları aynı sadece isimleri değişik, isterseniz komutları ona göre ayarlarsınız, ben Opera üstünden gideceğim.

/usr/share/applications/opera.desktop bu dizini root ile açınız, örn. Kwrite ile.

Bul;

Kod:
Exec=opera %U

Değiştir...

Kod:
Exec=opera --disk-cache-dir=/run/user/1000/opera-cache"

Ardından konsolda bunu döndür.

Kod:
$ mkdir -p /run/user/1000/opera-cache

Aslında mkdir 'e çok gerekte yok gibi ama orijinal kaynakta verilmiş, /run/user/1000/ dizini zaten her açılışta yenilenen bir dizin ve yeni cache dizinlerimiz, tarayıcıyı açınca geliyorlar.

Tarayıcılar için yapılan bu ayarların güncellemeler ile silinmemesi için, autostart dosyasına bir betik ekleyeceğiz.
(Kde için ~.kde/Autostart olabilir)

Kod:
#!/bin/bash
NEWDIR=/run/user/1000/opera-cache
mkdir -p "$NEWDIR" &
sleep 1
NEWDIR1=/run/user/1000/firefox-cache
mkdir -p "$NEWDIR1" &
sleep 1
#end

~/.config/autostart dizinine auto_browser_cache.sh diye kaydediyoruz.

Eski cache dizinlerini artık silebilirsiniz.

Kod:
$ rm -rf ~/.cache/opera/
$ rm -rf ~/.cache/mozilla/firefox/

4.Adım :

Kod:
# apt-get install sysfsutils
sysfsutils kurulduktan sonra sysfs.conf dosyası oluşuyor, bu komutu döndürün.

Kod:
# echo "block/sda/queue/scheduler=deadline" >> /etc/sysfs.conf

Restart atmak gerekir.

Kod:
$ for f in /sys/block/sda/queue/rotational; do printf "$f is "; cat $f; done

Komut sıfır şeklinde dönerse tamamdır.

Kod:
/sys/block/sda/queue/rotational is 0

5.Adım :

Swap kullanıyorsanız /etc/sysctl.conf 'a bunları ekleyebilirsiniz.

Kod:
vm.swappiness=1
vm.vfs_cache_pressure=25
vm.dirty_ratio=50
vm.dirty_background_ratio=3

Bitti.

Bu konuda bu ayarları kullanıyorum ve şimdilik hiç bir sıkıntıda olmadı, bir problemde görünmüyor.Altaki kaynaklar da daha fazla detay ve bir takım testler de var.

Kaynaklar :

Kod:
* https://news.siduction.org/2014/10/revisting-an-article-on-how-to-set-up-solid-state-disks-with-linux/
* https://wiki.debian.org/SSDOptimization
* https://www.belug.de/howtos-using_trim_inside_virtual_machines.html
 
Üst Alt