Tengo una SSD en mi computadora portátil y me han dicho que es preferible cambiar al programador "noop".
¿Cómo cambio al planificador de noop y dónde hago el cambio para que sea persistente en todos los reinicios?
Tengo una SSD en mi computadora portátil y me han dicho que es preferible cambiar al programador "noop".
¿Cómo cambio al planificador de noop y dónde hago el cambio para que sea persistente en todos los reinicios?
Respuestas:
Edite / etc / default / grub, por ejemplo gksudo gedit /etc/default/grub
, aquí necesita agregar elevator = noop.
Cambiar GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
a GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"
.
Luego corre sudo update-grub2
y reinicia.
Supongamos que su disco duro es /dev/sda
. Luego, puede verificar qué programador está actualmente en uso:
cat /sys/block/sda/queue/scheduler
(El programador actualmente en uso estará rodeado de [
]
paréntesis).
Y podría hacer que use el planificador noop:
echo noop > /sys/block/sda/queue/scheduler
Consulte este artículo para obtener un poco más de información.
Para que el cambio persista, puede poner el comando /etc/rc.local
.
sudo echo noop > /sys/block/sda/queue/scheduler
? Eso no funciona, ya que el shell, que se ejecuta como su usuario, configura la redirección antes de ejecutar el comando cuya salida se redirige. Puedes usar echo noop | sudo tee /sys/block/sda/queue/scheduler
en su lugar. Consulte ¿No puede hacer eco de "hola"> x.txt incluso con sudo? y ¿Cómo resolver el "permiso denegado" cuando se usa sudo con redirección en Bash? para más información y otros enfoques. (Si eso no es lo que quieres decir, házmelo saber).
Esta referencia de Debian muestra cómo detectar dinámicamente los SSD y cambiar el planificador en consecuencia:
En sistemas con diferentes tipos de unidades, puede ajustar la configuración con una regla udev (crear /etc/udev/rules.d/60-ssd-scheduler.rules):
# Establecer planificador de fecha límite para discos no giratorios
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",ATTR{queue/scheduler}="deadline"
Para asegurarse de que su núcleo pueda detectar el estado de rotación:
$ 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!
Todo lo anterior se cita directamente de la referencia de Debian, que tiene muchos otros elementos de interés para los usuarios nuevos de SSD.