JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Dépannage de problèmes courants dans Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Gestion des informations sur les pannes système (tâches)

2.  Gestion des fichiers noyau (tâches)

Gestion des fichiers noyau

Chemins d'accès aux fichiers noyau configurables

Noms de fichiers noyau développés

Définition du modèle de nom de fichier noyau

Activation des programmes setuid pour créer des fichiers noyau

Gestion des fichiers noyau (liste des tâches)

Affichage de la configuration du vidage sur incident

Définition d'un modèle de nom de fichier noyau

Activation d'un chemin d'accès au fichier noyau par processus

Activation d'un chemin d'accès au fichier noyau global

Résolution des problèmes de fichier noyau

Examen des fichiers noyau

3.  Dépannage du système et des problèmes logiciels (tâches)

4.  Dépannage de divers problèmes système et logiciels (tâches)

Index

Gestion des fichiers noyau

Les fichiers noyau sont générés lorsqu'un processus ou une application se termine de façon anormale. Les fichiers noyau sont gérés avec la commande coreadm. Par exemple, vous pouvez utiliser la commande coreadm pour configurer un système de sorte que tous les fichiers noyau du processus soient placés dans un seul répertoire système. Cela signifie qu'il est plus facile d'assurer un suivi des incidents en examinant les fichiers noyau dans un répertoire spécifique chaque fois qu'un processus ou démon se termine de façon anormale.

Chemins d'accès aux fichiers noyau configurables

Les deux chemins d'accès aux fichiers noyau (core) configurables suivants peuvent être activés ou désactivés indépendamment l'un de l'autre :

Lorsqu'un processus se termine de façon anormale, il génère un fichier noyau dans le répertoire en cours par défaut. Si le chemin d'accès au fichier noyau global est activé, chaque processus qui se termine de façon anormale risque de produire deux fichiers, l'un dans le répertoire de travail en cours, l'autre à l'emplacement du fichier noyau global.

Par défaut, un processus setuid ne produit pas les fichiers noyau à l'aide du chemin global ou par processus.

Noms de fichiers noyau développés

Si un répertoire de fichier noyau (core) global est activé, les fichiers noyau (core) peuvent être distingués les uns des autres à l'aide des variables décrites dans le tableau suivant.

Nom de variable
Définition de la variable
%d
Nom de répertoire de fichier exécutable, jusqu'à MAXPATHLEN caractères maximum
%f
Nom de fichier exécutable, jusqu'à MAXCOMLEN caractères maximum
%g
ID de groupe effectif
%m
Nom de la machine (uname -m)
%n
Nom de noeud système (uname -n)
%p
ID de processus
%t
Valeur décimale de durée(2)
%u
ID utilisateur effectif
%z
Nom de la zone dans laquelle le processus est exécuté (zonename)
%%
% littéral

Par exemple, si le chemin d'accès au fichier noyau global est défini sur :

/var/core/core.%f.%p

et si un processus sendmail avec PID 12345 se termine de façon anormale, il génère le fichier noyau (core) suivant :

/var/core/core.sendmail.12345

Définition du modèle de nom de fichier noyau

Vous pouvez définir un modèle de nom de fichier noyau à l'échelle globale, par zone ou par processus. En outre, vous pouvez définir des valeurs par processus par défaut qui persistent après une réinitialisation du système.

Par exemple, la commande coreadm suivante définit le modèle de fichier noyau par processus par défaut. Ce paramètre s'applique à tous les processus qui n'ont pas explicitement remplacé le modèle de fichier noyau par défaut. Ce paramètre persiste après les redémarrages du système. Par exemple, la commande coreadm suivante définit le modèle de fichier noyau global pour tous les processus lancés par le processus init. Ce modèle sera conservé après les réinitialisations du système.

# coreadm -i /var/core/core.%f.%p

La commande coreadm suivante définit le modèle de nom de fichier noyau par processus pour n'importe quel processus :

# coreadm -p /var/core/core.%f.%p $$

Les symboles $$ représentent un paramètre substituable pour l'ID de processus du shell en cours d'exécution. Le modèle de nom de fichier noyau par processus est hérité par tous les processus enfants.

Une fois qu'un modèle de nom de fichier noyau global ou par processus a été défini, il doit être activé à l'aide de la commande coreadm -e. Reportez-vous aux procédures suivantes pour plus d'informations.

Vous pouvez définir le modèle de nom de fichier noyau pour tous les processus exécutés au cours d'une session de connexion d'un utilisateur en plaçant la commande dans un fichier d'initialisation d'un utilisateur, par exemple .profile.

Activation des programmes setuid pour créer des fichiers noyau

Vous pouvez utiliser la commande coreadm pour activer ou désactiver les programmes setuid afin de créer des fichiers noyau pour tous les processus système ou par processus en définissant les chemins d'accès suivants :

Par défaut, les deux indicateurs sont désactivés. Pour des raisons de sécurité, le chemin d'accès au fichier noyau global doit être un nom de chemin complet, commençant par /. Si l'utilisateur root désactive les fichiers noyau par processus, les utilisateurs individuels ne peuvent pas obtenir les fichiers noyau.

Les fichiers noyau setuid sont détenus par l'utilisateur root qui possède des droits de lecture/écriture spécifiques. Les utilisateurs normaux ne peuvent pas accéder à ces fichiers, même si le processus qui a produit le fichier noyau setuid appartenait à un utilisateur ordinaire.

Pour plus d'informations, reportez-vous à la page de manuel coreadm(1M).

Gestion des fichiers noyau (liste des tâches)

Tâche
Description
Voir
1. Affichage de la configuration du vidage sur incident
Affichez la configuration du vidage sur incident en cours à l'aide de la commande coreadm
2. Modification de la configuration du vidage sur incident

Modifiez la configuration du vidage sur incident afin d'effectuer l'une des opérations suivantes :

  • définir un modèle de nom de fichier noyau ;
  • activer un chemin de fichier noyau par processus ;

  • activer un chemin d'accès au fichier noyau global.

3. Examen d'un fichier de vidage sur incident
Utilisez les outils proc pour afficher un fichier de vidage sur incident.

Affichage de la configuration du vidage sur incident

Utilisez la commande coreadm sans aucune option pour afficher la configuration du vidage sur incident en cours.

$ coreadm
               global core file pattern: 
     global core file content: default
       init core file pattern: core
       init core file content: default
            global core dumps: disabled
       per-process core dumps: enabled
      global setid core dumps: disabled
 per-process setid core dumps: disabled
     global core dump logging: disabled

Définition d'un modèle de nom de fichier noyau

Activation d'un chemin d'accès au fichier noyau par processus

  1. Prenez le rôle root.

    Reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.

  2. activer un chemin de fichier noyau par processus ;
    # coreadm -e process
  3. Affichez le chemin d'accès au fichier noyau du processus en cours pour vérifier la configuration.
    # coreadm $$
    1180:   /home/kryten/corefiles/%f.%p

Activation d'un chemin d'accès au fichier noyau global

  1. Prenez le rôle root.

    Reportez-vous à la section Utilisation de vos droits d’administration du manuel Administration d’Oracle Solaris 11.1 : Services de sécurité.

  2. activer un chemin d'accès au fichier noyau global.
    # coreadm -e global -g /var/core/core.%f.%p
  3. Affichez le chemin d'accès au fichier noyau du processus en cours pour vérifier la configuration.
    # coreadm
           global core file pattern: /var/core/core.%f.%p
         global core file content: default
           init core file pattern: core
           init core file content: default
                global core dumps: enabled
           per-process core dumps: enabled
          global setid core dumps: disabled
     per-process setid core dumps: disabled
         global core dump logging: disabled