Linux

Linux , analyse de performance

Objectifs de la formation

  • Mesurer les performances sur un système Linux
  • Auditer les performances sur un système Linux
  • Comprendre en détail les mécanismes internes du noyau


Programme de la formation

Présentation du noyau

  • Vue d’ensemble du système et rôle du noyau.
  • Les sites de référence.
  • Spécificités des noyaux 3.x et 4.x.
  • Cycles de développement du noyau, les patchs.
  • Mode de fonctionnement (superviseur et utilisateur). Appels système.
  • Organisation des sources (Include/linux, Arch, Kernel, Documentation…).
  • Principe de compilation du noyau et des modules.
  • Les dépendances et symboles.
  • Les exportations de symboles.
  • Le chargement du noyau (support, argument…).
  • La gestion de la mémoire virtuelle sous Linux.
  • Optimisation des systèmes de fichiers : Ext3/4, modes de journalisation, attributs du système de fichier.
  • Les optimisations classiques.

Travaux pratiques

Compilation et installation d’un noyau.

Les outils utilisables

  • Outils de développement (Gcc, Kbuild, Kconfig et Makefile…).
  • Outils de débogage (GDB, KGDB, ftrace…).
  • Environnement de débogage (Linux Trace Toolkit…).
  • Tracer les appels système (ptrace…).
  • Outil de métrologie classique sous Linux.
  • Collecte de données sur la performance.
  • Nagios, Ganglia
  • Surveillance du noyau.
  • Les commandes : utilisation de vmstat, df, stat, cpuinfo,etc

Travaux pratiques

Installer l’ensemble des outils et des sources. Collecte de donnée. Surveillance du noyau. Utilisation des commandes natives.

Gestion des threads, scheduling

  • Les différents types de périphériques.
  • Contextes de fonctionnement du noyau. Protection des variables globales.
  • Représentation des threads (état, structure task_stru, thread_info…).
  • Les threads, contexte d’exécution.
  • Le scheduler de Linux et la préemption.
  • Création d’un thread noyau (kthread_create, wakeup_process…).

Travaux pratiques

Surveiller, gérer les threads.

Gestion de la mémoire, du temps et de proc

  • L’organisation mémoire pour les architectures UMA et NUMA.
  • L’espace d’adressage utilisateur et noyau.
  • La gestion de pages à la demande (demand paging).
  • Allocations mémoire, buddy allocator, kmalloc, slabs et pools mémoire.
  • La gestion des accès à la mémoire (les caches et la MMU).
  • Les problèmes liés à la sur-réservation de la mémoire.
  • Gestion de la mémoire sur x86 et ARM, utilisation des Hugepages.
  • Optimisation des appels systèmes (IAPX32, VDSO).
  • Synchronisations et attentes dans le noyau, waitqueues, mutex et les completions.
  • Les ticks et les jiffies dans Linux.
  • L’horloge temps réel, RTC (real Time Clock), implémentation des timers.
  • Interface timers haute résolution, estampilles.
  • Les outils spécifiques au noyau, listes chaînées, kfifo et container_of.
  • L’interface noyau avec /proc par le procfs.

Travaux pratiques

Analyse de la mémoire, des fichiers /proc.

Optimisations de NUMA (non-uniform memory access)

  • Principaux concepts NUMA.
  • Concepts et architecture du CPU.
  • Allocation de mémoire NUMA.
  • Statistiques NUMA.
  • Sous-système E/S.

Stockage et IO

  • Logiciel RAID Refresher.
  • Niveaux RAID, configuration RAID.
  • Volumes logiques, Volumes et groupes de volumes, Création de volumes logiques.
  • Dispositifs bruts.
  • E/S asynchrones.

Travaux pratiques

Auditer le stockage.

Analyse du sous-système E/S

  • iostats.
  • iotop, blktrace, blkparse.
  • btrace, btt, blkiomon.

Travaux pratiques

Analyse et interprétation des E/S.

Optimisation du sous-système réseau

  • Vue d’ensemble du stack réseau.
  • Optimisation de la latence et du débit.
  • Paramètres matériels de l’interface réseau.
  • Techniques de déchargement.
  • Optimisation TCP.
  • Outils de surveillance et de diagnostic

Travaux pratiques

Vue d’ensemble du stack réseau.

Audit

  • Les méthodes.
  • Ce qui ne doit pas être oublié.
  • Les outils.

Travaux pratiques

Réaliser l’audit d’un système Linux, produire un rapport.

MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
Linux, drivers et programmation noyau (Prev Lesson)
(Next Lesson) Linux, services réseaux
Back to Linux
Public

Administrateurs systèmes, administrateurs réseaux, exploitants systèmes ou applicatifs.

Pré-requis

Bonnes connaissances de l’utilisation de Linux.

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.