Különböző I/O ütemező szilárdtest és mechanikus lemezek esetén

Az SSD-k elterjedésével nagyban javult a számítógépek I/O teljesítménye, de szerencsére Linux alatt még mindig van mit kihozni a dologból. Az ütemező megváltoztatásával finomhangolható a lemezek működése. Sajnos a legtöbb fellelhető leírás nem veszi figyelembe a hardverek sokszínűségét, és globálisan változtatják meg a használt ütemezőket. Ez azért probléma, mert az SSD például lehet jól érzi magát noop vagy deadline ütemezővel, de például egy USB-s külső HDD már annyira nem. Erre is írtak már előttem okosok megoldást, amit megosztok veletek hátha hasznos lesz. Debian és Ubuntu (és származékaik) alatt volt lehetőségem kipróbálni a következő szabályt:

sudo nano /etc/udev/rules.d/60-schedulers.rules

# set deadline scheduler for non-rotating disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

# set cfq scheduler for rotating disks
ACTION=="add|change", KERNEL=="sd[b-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"

Melynek segítségével beállítható hogy SSD használatakor deadline, HDD-k esetén CFQ lesz az alapértelmezett I/O ütemező. 

Ellenőrzés:


cat /sys/block/sd*/queue/scheduler
noop deadline [cfq]
noop [deadline] cfq 

Itt látható hogy működött a dolog, SSD esetén Deadline HDD esetén CFQ lett az alapértelmezett beállítás az újraindítás után.

Sebességtesztek esetén is mérhető volt a változás


Támogatás: PayPal