Qu'est-ce que la panique du noyau?

52

Je viens de terminer un cours sur l'OS. J'ai souvent entendu l'expression " panique du noyau " . Peux-tu expliquer

  1. Qu'est-ce qu'une panique du noyau?
  2. Pourquoi cela se produit-il?
  3. Comment puis-je savoir qu'une panique du noyau s'est produite?
  4. Quel est son effet sur le système?
  5. Cela ne se produit-il que sous Linux?
  6. Comment puis-je l'empêcher?
utilisateur
la source
La panique du noyau fait partie d'un message d'erreur sur les macs. si on dit "panique nous sommes suspendus ici" (on suppose que cela pourrait faire partie de unix.)
Alvar
21
Si vous suiviez un cours sur l'OS, pourquoi n'avez-vous pas demandé à vos conférenciers d'expliquer la terminologie qu'ils utilisaient? Vous auriez eu beaucoup plus de vos études.
TRiG

Réponses:

56

1 question à la fois par FAQ

  1. Qu'est-ce que la panique du noyau?
    Lorsque le noyau ne parvient pas à se charger correctement ou "s'effraie" et ne parvient pas à démarrer correctement ou se bloque (voir la section Crédit en bas).

  2. Pourquoi ça se passe?
    Mises à jour liées, matériel défaillant, matériel non pris en charge, lecteur ou partition défaillant ou manquant (voir crédit de modification en bas)

  3. Comment puis-je comprendre la panique du noyau?
    Observez les invites de démarrage (désactivez les paramètres de noyau silencieux) OU votre ordinateur ne parvient pas à démarrer

  4. Quel effet cela a-t-il sur le système?
    Echec du démarrage ou panne du système

  5. Cela ne se produit-il que sous Linux?
    Non, tous les systèmes d'exploitation de type Unix peuvent avoir des paniques du noyau. C'est l'équivalent d'un écran bleu de la mort Windows

  6. Comment puis-je l'empêcher?
    Cela n'arrive pas normalement. Testez les mises à jour et résolvez le problème. Utilisez stable au lieu de branches de développement.

Remarque supplémentaire: la panique du noyau et la défaillance / l’arrêt du système peuvent être directement responsables de la protection de votre ordinateur contre les dommages physiques. Les exemples incluent l'arrêt avant une surchauffe extrême ou une corruption de disque. Voir modifier les crédits en bas pour un devis direct.

édite

Per B. Roland Des disques ou des volumes manquants ou corrompus peuvent également en être la cause.
(Bon point et je l'ai négligé)

Per Kees La panique du noyau peut également se produire lors de l'exécution.
Remarque: Cela peut se produire lorsqu'une fonction échoue de manière élégante dans le noyau, mais se produit le plus souvent pendant le chargement du module ou du noyau (généralement lors du démarrage). Je pensais l'avoir abordé à "lors du démarrage ou du système", mais je vois comment ma réponse à (1) indiquait que cela ne se produisait qu'au démarrage.

Per rafalcieslak citation directe - «Il faut ajouter une chose très importante: l’essentiel dans toute la panique du noyau est de protéger votre ordinateur. Le noyau se fige non seulement parce qu’il n’a pas réussi à faire quelque chose, mais aussi afin d’empêcher la surchauffe de votre ordinateur, la corruption des disques durs et tout autre problème matériel susceptible de se produire si certains ordres incorrects sont exécutés (par exemple). Par exemple, un module chargé de contrôler le ventilateur) n'a pas pu être chargé, etc. C'est pourquoi le noyau préfère geler plutôt que de résoudre le problème. '

RobotHumans
la source
3
Ajoutez à q # 2: les fichiers de démarrage manquants (par exemple, lorsqu'un volume LVM est manquant) ...
antivirtel
@B. Roland Ajouté et crédité
RobotHumans
sympa, merci - je l'ai écrit, parce que ça m'est déjà arrivé ... (j'ai accidentellement formaté un volume en LVM ...)
antivirtel
8
Cette réponse n'est pas correcte. Une panique du noyau ne se limite pas aux échecs de démarrage. La réponse de JanC est plus correcte ("le noyau détecte une erreur dont il ne peut pas récupérer"). L’incapacité de démarrer n’est que l’une des nombreuses conditions.
Kees Cook
2
Il y a une chose très importante qui doit être ajoutée: Le point essentiel de toute la panique du noyau est de protéger votre ordinateur. Le noyau se fige non seulement parce qu’il n’a pas réussi à faire quelque chose, mais aussi afin d’empêcher la surchauffe de votre ordinateur, la corruption des disques durs et tout autre problème matériel susceptible de se produire si certains ordres incorrects sont exécutés (par exemple). Par exemple, un module chargé de contrôler le ventilateur) n'a pas pu être chargé, etc. C'est pourquoi le noyau préfère geler plutôt que de résoudre le problème.
Rafał Cieślak le
31

Une panique du noyau se produit lorsque le noyau détecte une erreur dont il ne peut pas récupérer. Une fonction nommée panic()pour gérer cette situation (souvent en déchargeant des informations de débogage et / ou en redémarrant le système) a été introduite pour la première fois dans l’une des toutes premières versions d’UNIX; comme les systèmes d'exploitation, y compris Mac OS X).

Le fameux Blue Screen Of Death (officiellement appelé erreur système fatale , comme dans VMS / OpenVMS) dans le noyau NT de Microsoft est également une forme de "panique du noyau".

Une erreur du noyau Linux à partir de laquelle le noyau peut (partiellement ou temporairement) récupérer est appelée un noyau oups (vous pouvez dmesgparfois voir ceux en sortie).

Les raisons d’une panique du noyau peuvent être un bogue dans le noyau (par exemple, un pilote qui fait partie du noyau) ou un problème matériel ou logiciel entraînant une condition inattendue / imprévisible pour le noyau (par exemple, lorsqu'il est impossible de démarrer le programme d'installation). initproces, ou il est tué).

Pour savoir quelle en est la cause, vous pouvez voir si quelque chose a été imprimé à l'écran ou sur une console série (si vous en avez configurée une). Si tel est le cas, vous pouvez également demander au système de créer un vidage sur mémoire du noyau sous Linux, qui enregistre la mémoire du noyau sur le disque en cas de panique, afin qu'un développeur du noyau puisse l'analyser (bien sûr, cela nécessite capable d'écrire sur un disque). Dans certains cas, /var/log/messagesdes informations utiles peuvent également être fournies (par exemple, dans certains cas, la récupération d'un oops peut entraîner une erreur irrémédiable ultérieurement). Il y a quelques informations plus détaillées ici .

JanC
la source
1

Je suis actuellement pris dans une panique noyau sur mon système, Ubuntu 16.04. Mon ordinateur s'était plaint que la disquette de démarrage était saturée, alors j'ai lancé 'apt autoremove'. Cela supprimait ce que je pensais être des fichiers inutiles, et le résultat était la panique du noyau.

Donc, je suppose que n'importe quel niveau d'édition du disque de démarrage peut provoquer une panique du noyau. Donc, ne plaisante pas avec cela si vous ne faites pas attention à ce que vous faites.

A. Bergeron
la source
Cela n'aide pas à résoudre la question du PO. :(
Mike Williamson
1

La réponse de @RobotHumans répond à toutes les parties de votre question. Cependant, j'aimerais élaborer sur les causes de Kernel Panic.

Premièrement, il existe 2 types de panique de noyau - Panic de noyau doux (également appelé Oops) et (Panic de noyau dur, également connu sous le nom de Aieee!).

Un système s'exécute en mode panique noyau dur lorsqu'il rencontre une exception qui ne peut pas être gérée. Les paniques du noyau souple sont relativement plus faciles à gérer.

Causes de la panique du noyau

Il y a plusieurs causes, mais les plus courantes sont énumérées ci-dessous:

  • Une RAM défectueuse ou incompatible est la cause la plus fréquente et la plus fréquente de panique du noyau.
  • Extensions de noyau obsolètes, incompatibles ou corrompues
  • Pilotes du noyau obsolètes, incompatibles ou corrompus.
  • La corruption du disque dur ou des problèmes tels que la corruption de secteurs ou de répertoires peuvent également entraîner une panique du noyau.
  • Insuffisance de RAM ou d'espace disque
  • Un matériel défectueux, des programmes mal écrits ou des défaillances matérielles peuvent également conduire à la panique du noyau.

Il est également important de noter que seuls les modules situés dans l’espace du noyau peuvent provoquer une panique du noyau. lsmodCette commande peut être exécutée pour obtenir une liste de modules chargés dynamiquement.

Pour résoudre le problème de panique du noyau, consultez / var / log / messages. Parfois, toutes les informations peuvent être consignées à cet endroit alors que parfois, rien de lié à la panique du noyau n’est enregistré. Bien qu'il soit inévitable de tomber dans la panique du noyau, il n'y a pas grand chose à craindre.

Ayush Goyal
la source