Je veux vérifier si mon noyau Linux est préemptif ou non préemptif. Comment puis-je vérifier cela en utilisant une commande, quelque chose comme uname -a
?
11
Que le noyau soit préemptif ou non dépend de ce que vous voulez préempter, comme dans le noyau Linux, il existe différentes choses qui peuvent avoir la préemption activée / désactivée séparément.
Si votre noyau a été activé CONFIG_IKCONFIG
et CONFIG_IKCONFIG_PROC
activé, vous pouvez découvrir votre configuration de préemption via /proc/config.gz
(si vous ne l'avez pas, certaines distributions livrent la configuration du noyau à la /boot
place):
$ gzip -cd /proc/config.gz | grep PREEMPT
CONFIG_TREE_PREEMPT_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_COUNT=y
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_PREEMPT_TRACER is not set
Si vous l'avez CONFIG_IKCONFIG
, mais pas CONFIG_IKCONFIG_PROC
, vous pouvez toujours le retirer de l'image du noyau avec extract-ikconfig
.
Un noyau préemptif (bureau à faible latence) a
PREEMPT
marqué son nom de version (uname -a
). Cela apparaît également dans/proc/version
et dans la chaîne "version magic" utilisée pour décider si les modules peuvent / ne peuvent pas être chargés sur un noyau donné, par exempleAucun marquage de ce type n'existe pour
CONFIG_PREEMPT_VOLUNTARY
, afaik.la source