SSD diskler için parametreleri ayarlamak için udev kullanmanızı öneririm. Bu şekilde, SSD, vb. İçin daha uygun olan belirli bir kuyruk zamanlayıcıyı yapılandırabilirsiniz. Parametreleri, birçok parametreye dayalı olarak yalnızca bazı cihazlara uygulayabilirsiniz.
Aşağıdaki işlemleri gerçekleştirerek aygıtlarınızla (ör. Disk modeli ve üreticisi) eşleştirmek için gereken belirli özellikleri edinebilirsiniz:
udevadm info -a -p /sys/block/sda
ve blok cihazınız için tüm ATTR çiftlerini kontrol etme.
Diğer bir avantaj, takılabilir diskler için parametreleri ayarlama yeteneğidir (örn. Muhafazalarda veya hotswap bölmelerinde) ve ayar, aygıt parametrelerinin eşleşmesi koşuluyla tüm yeni aygıtlara uygulanacaktır.
Aşağıda, Intel SSD'ler için belirli bir zamanlayıcı, istediğiniz okuma kafası değeri (4096 blok = 2048 kb) ve ayrıca tüm diğer SSD'ler için farklı bir zamanlayıcı uygulamak için bir örnek verilmiştir:
cat /etc/udev/rules.d/99-ssd.rules
# http://unix.stackexchange.com/a/71409/36574
# Setting specific kernel parameters for a subset of block devices (Intel SSDs)
SUBSYSTEM=="block", ATTRS{model}=="Intel SSDSC*", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{bdi/read_ahead_kb}="2048", ATTR{queue/scheduler}="deadline"
# for all other non-rotational block devices set a scheduler to 'noop' and readahead to 1024KB
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{bdi/read_ahead_kb}="1024", ATTR{queue/scheduler}="noop"
Dosyayı kaydettikten sonra kuralınızın cihazla eşleşip eşleşmeyeceğini ve udevadm kullanarak ne yapacağını test edebilirsiniz:
udevadm test --action=add /sys/block/sda
Bu, udev'in yüklediği tüm kuralları, neyle eşleştiğini, neyin uymadığını ve cihaz takıldığında udev'in hangi kararları alacağını yazdırır.
Bu yardımcı olur umarım.