Le core(5)
La page de manuel décrit en détail les paramètres affectant les vidages mémoire, y compris leur nom, etc.
Pour répondre à votre question, il n'existe aucun moyen généralisable de trouver un vidage mémoire. Par défaut, le core est vidé dans le processus dans le répertoire de travail actuel de , si le processus est autorisé à y écrire, s'il y a suffisamment d'espace sur le système de fichiers contenant, s'il n'y a pas de vidage mémoire existant (dans certaines circonstances) et si la taille du fichier et les limites de taille du fichier principal (telles que définies par ulimit
ou mécanismes similaires) le permettent. Mais /proc/sys/kernel/core_pattern
fournit de nombreuses façons différentes de traiter les vidages mémoire, vous devez donc vraiment vous pencher là-dessus également et comprendre ce qui se passe.
Dans votre cas, je ne sais pas pourquoi le noyau n'a pas pu être trouvé au départ, mais je sais pourquoi vous avez cessé d'obtenir des noyaux après avoir configuré la redirection :lors de l'utilisation d'un canal dans core_pattern
, le programme de traitement doit être spécifié à l'aide d'un chemin d'accès absolu. tee
seul ne sera pas utilisé ; vous devez spécifier /usr/bin/tee
. Notez que vous devez être particulièrement prudent avec ce type de configuration sur les systèmes multi-utilisateurs, car le programme exécuté pour traiter le vidage mémoire est exécuté en tant que root
.
Sur les dérivés Debian j'installe corekeeper
, qui écrit des vidages mémoire d'une manière facilement utilisable dans des répertoires par utilisateur sous /var/crash
.