dmesg 에서 스케줄러 로그 검토
이 마지막 단계에서는 dmesg 명령을 사용하여 스케줄러와 관련된 커널 메시지를 살펴보겠습니다. dmesg는 커널 링 버퍼 메시지를 표시하는 명령입니다. 이러한 메시지는 부팅 및 런타임 중에 커널에 의해 생성되며, 스케줄러 활동을 포함하여 하드웨어, 드라이버 및 시스템 이벤트에 대한 귀중한 정보를 포함할 수 있습니다.
sysctl 및 /proc/sys는 현재 구성을 보여주는 반면, dmesg는 때때로 스케줄러 초기화 또는 중요한 이벤트와 관련된 메시지를 표시할 수 있습니다.
커널 메시지를 보려면 다음 명령을 입력하십시오.
dmesg
이 명령은 시스템이 부팅된 이후의 모든 커널 메시지를 표시하므로 매우 긴 출력을 생성할 가능성이 높습니다. 스케줄러와 관련된 메시지를 특별히 찾기 위해 grep 명령을 사용하여 출력을 필터링할 수 있습니다. "sched"라는 단어가 포함된 줄을 검색합니다.
다음 명령을 입력하십시오.
dmesg | grep sched
| 기호는 파이프라고 합니다. 왼쪽의 명령 (dmesg) 의 출력을 가져와 오른쪽의 명령 (grep sched) 에 입력으로 보냅니다. 그런 다음 grep sched는 수신한 입력에서 "sched"를 포함하는 줄을 검색합니다.
다음과 유사한 출력이 표시되어 시스템 시작 중 스케줄러와 관련된 메시지를 보여줄 수 있습니다.
[ 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:
...
다시 말하지만, 정확한 출력은 다를 것입니다. 이 명령은 문제를 진단하거나 커널에 의해 스케줄러가 어떻게 초기화되었는지 이해하는 데 유용합니다.
이제 Linux 커널 스케줄러에 대한 정보를 얻는 세 가지 다른 방법을 배웠습니다. 현재 파라미터에 대한 sysctl 사용, /proc/sys/kernel/의 파일 검사, dmesg를 사용한 커널 메시지 확인.
이 랩을 완료하려면 **계속 (Continue)**을 클릭하십시오.