Inspeccionar los registros del planificador en dmesg
En este último paso, examinaremos los mensajes del núcleo (kernel) relacionados con el planificador utilizando el comando dmesg
. dmesg
es un comando que muestra los mensajes del buffer circular del núcleo. Estos mensajes son generados por el núcleo durante el arranque y la ejecución del sistema y pueden contener información valiosa sobre el hardware, los controladores y los eventos del sistema, incluyendo las actividades del planificador.
Mientras que sysctl
y /proc/sys
muestran la configuración actual, dmesg
a veces puede mostrar mensajes relacionados con la inicialización del planificador o eventos importantes.
Para ver los mensajes del núcleo, escriba el siguiente comando:
dmesg
Es probable que esto produzca una salida muy larga, ya que muestra todos los mensajes del núcleo desde que se inició el sistema. Para encontrar mensajes específicamente relacionados con el planificador, podemos usar el comando grep
para filtrar la salida. Buscaremos líneas que contengan la palabra "sched".
Escriba el siguiente comando:
dmesg | grep sched
El símbolo |
se llama tubería (pipe). Toma la salida del comando de la izquierda (dmesg
) y la envía como entrada al comando de la derecha (grep sched
). grep sched
luego busca líneas que contengan "sched" en la entrada que recibe.
Puede ver una salida similar a esta, que muestra mensajes relacionados con el planificador durante el inicio del sistema:
[ 0.000000] Linux version ... (gcc version ...) #... SMP ...
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-... root=... ro quiet splash vt.handoff=...
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-... root=... ro quiet splash vt.handoff=...
[ 0.000000] PID scheduler: ...
[ 0.000000] Mount-cache hash table entries: ... (order: ..., 65536 bytes, linear)
[ 0.000000] Mountpoint-cache hash table entries: ... (order: ..., 65536 bytes, linear)
[ 0.000000] CPU: Testing write buffer coherency: ...
[ 0.000000] smpboot: CPU0: ...
[ 0.000000] setup_percpu: System has ... CPUs.
[ 0.000000] percpu: Embedded ... pages/cpu s...
[ 0.000000] pcpu: PCPU: ...
[ 0.000000] Built 1-level schedule group tree
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is ...
[ 0.000000] rcu: Adjusting scheduler-enlistment delay with ...
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=... to nr_cpu_ids=...
[ 0.000000] rcu: rcu_sched detected stalls on CPUs/tasks:
...
Nuevamente, la salida exacta variará. Este comando es útil para diagnosticar problemas o entender cómo el núcleo inicializó el planificador.
Ahora ha aprendido tres formas diferentes de obtener información sobre el planificador del núcleo de Linux: usando sysctl
para obtener los parámetros actuales, inspeccionando archivos en /proc/sys/kernel/
y comprobando los mensajes del núcleo con dmesg
.
Haga clic en Continuar para completar este laboratorio.