2 votes

Détecteur de fuites de mémoire du noyau

J'ai activé l'option "Kernel memory leak detector" dans kernel hacking et reconstruit/redémarré le système, pour le moment le fichier kmemleak existe dans le dossier /sys/kernel/debug mais il semble que je ne puisse pas déclencher le scan par "echo scan > /sys/kernel/debug/kmemleak", j'ai monté debugfs sur /sys/kernel/debug, mais quand j'essaie de déclencher le scan cela me donne "-bash : echo : write error : Device or resource busy". Je pense que c'est parce que je n'ai pas le droit d'écrire dans le dossier /sys même si je suis un utilisateur root. Une suggestion pour résoudre ce problème ? Merci beaucoup.

J'ai essayé

2voto

bornfree Points 1855

Vous devez vérifier certaines choses lorsque vous utilisez kmemleak.

Vérifiez si un bootargs ou un paramètre de la ligne de commande kmemleak=off est transmis.

Dans votre journal de démarrage, vérifiez si vous avez des journaux liés à kmemleak, en particulier quelque chose comme les journaux suivants

kmemleak: Kernel memory leak detector disabled
kmemleak: Early log buffer exceeded (919), please increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE

Très probablement, je pense que vous devez configurer CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE . Si pendant le démarrage, la taille du journal pour kmemleak augmente au-delà de la limite fixée dans la configuration du noyau linux, kmemleak est désactivé.

Donc, configurer CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE et augmenter la taille. Cette option est également sous kernel hacking . J'utilise la source du noyau 4.19.9 et je joins la capture d'écran pour référence. Maximum kmemleak early log entries est le champ, vous devrez peut-être lui donner une valeur plus élevée (par exemple 4096).

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X