Noop zamanlayıcısına nasıl geçebilirim?


29

Dizüstü bilgisayarımda bir SSD var ve "noop" zamanlayıcısına geçmenin tercih edildiğini söylediler.

Noop zamanlayıcısına nasıl geçebilirim ve yeniden başlatmalar arasında kalıcı olması için değişikliği nerede yaparım?

Yanıtlar:


21

Düzenleme / etc / default / grub, örneğin gksudo gedit /etc/default/grubburada asansör = noop eklemelisiniz.

Değişim GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"için GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop".

Ardından çalıştırın sudo update-grub2ve yeniden başlatın.


6
Anonim 'cevabı, bir sistemdeki tüm disklerde varsayılanı değiştirmek için iyidir. Buna karşılık, Eliah Kagan'ın cevabı, belirli diskler için varsayılanı belirler. Tek sürücülü bir dizüstü bilgisayar için, ya iyi çalışıyor. Birden fazla diske sahip sistemler için - en önemlisi, hem SSD'lere hem de dönen sürücülere sahip diskler), Eliah Kagan'ın cevabı daha hassas kontrol sağlar.
Royce Williams

28

Diyelim ki sabit diskiniz /dev/sda. Daha sonra, hangi programlayıcının şu anda kullanımda olduğunu görmek için kontrol edebilirsiniz:

cat /sys/block/sda/queue/scheduler

(Kullanılmakta olan zamanlayıcı, [ ]parantez içine alınacaktır .)

Ve noop zamanlayıcıyı kullanmasını sağlayabilirsiniz:

echo noop > /sys/block/sda/queue/scheduler

Biraz daha fazla bilgi için bu makaleye bakın .

Değişikliğin devam etmesi için komutu girebilirsiniz /etc/rc.local.


1
Sudo

@LucasBustamante Koşuyor musunuz sudo echo noop > /sys/block/sda/queue/scheduler? Bu, kullanıcı olarak çalışan kabuk, çıktısı yönlendirilen komutu çalıştırmadan önce yönlendirmeyi ayarlar. Bunun echo noop | sudo tee /sys/block/sda/queue/scheduleryerine kullanabilirsiniz . Bkz Can “Merhaba”> x.txt bile sudo ile echo değil? ve Bash'de yeniden yönlendirme ile sudo kullanırken “izin verilmeyen izinler” nasıl çözülür? daha fazla bilgi ve diğer yaklaşımlar için. (Eğer demek istediğin bu değilse, lütfen bana bildirin.)
Eliah Kagan

cevap için teşekkürler, bu da yardımcı olmadı. Bir NVMe SSD kullanıyorum, zamanlayıcısını hiç kullanmadığını düşünüyorum, anladığım kadarıyla serverfault.com/questions/693348/…
Lucas Bustamante

14

Bu Debian referansı SSD'lerin dinamik olarak nasıl algılandığını ve zamanlayıcıyı buna göre nasıl değiştireceğinizi gösterir:

Farklı sürücü tiplerine sahip sistemlerde, ayarları udev kuralına göre ayarlayabilirsiniz (create /etc/udev/rules.d/60-ssd-scheduler.rules):

# Dönmeyen diskler için son tarih zamanlayıcıyı ayarla

 ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",ATTR{queue/scheduler}="deadline"

Çekirdeğinizin dönme durumunu algılayabildiğinden emin olmak için:

$ 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!

Yukarıdakilerin tümü, ilk kez SSD kullanıcıları için ilgi çekici başka birçok unsuru olan Debian referansından doğrudan alıntılanmıştır.


root @ titan: / home / kessaras # in / sys / block / sd / / queue / rotasyonel için; printf "$ f is"; kedi f $; / sys / blok / sda / sıra / dönme 0 / sys / blok / sdb / sıra / dönme 0 / sys / blok / sdc / sıra / dönme 1 / sys / blok / sdd / sdc / sıra / dönme 1 kök @titan: / home / kessaras # cat / sys / blok / sd * / sıra / zamanlayıcı [mq-son tarih] yok [mq-son tarih] yok [mq-son tarih] yok [mq-son tarih] yok Burada bir şeyler çok yanlış. Tüm sabit diskleri son teslim tarihine değiştirdi
Pavlos Theodorou

Komut hiçbir şeyi değiştirmez - sadece bir diskin "dönme" (HDD) olup olmadığını bildirir. Dönme = 0, bunun bir SSD veya başka bir dönen sürücü olmadığı anlamına gelir.
Royce Williams

hiçbir şeyi değiştirmeyen ne demek istiyorsun? Ve orada udev kuralı orada ne işe yarıyor? İçinde sarı bir kutu var. Kör olduğumu mu söylüyorsun yoksa okuyamıyorum?
Pavlos Theodorou

1
Benim hatam. Son çekirdeğin programlayıcıları kaldırdıkları anlaşılıyor ... ??? f / sys / block / sd? / kuyruk / zamanlayıcı için; printf "$ f is"; kedi f $; / sys / blok / sda / sıra / zamanlayıcı [mq-son tarih] none / sys / blok / sdb / sıra / zamanlayıcı [mq-son tarih] none / sys / blok / sdb / sıra / zamanlayıcı [mq-son tarih] none / sys / blok / sdc / sıra / zamanlayıcı [mq-son tarih ] none / sys / block / sdd / kuyruk / zamanlayıcı [mq-son teslim tarihi] hiçbiri Makale ve yazdığınız her şey yolunda. Sadece son tarih ve aralarından seçim yapabileceğiniz başka bir şey yok.
Pavlos Theodorou
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.