Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Linux : L'architecture système

Préparer l'analyse du multithreading

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Voyez quelles sont les commandes qui vont vous permettre d'afficher le nombre de threads par processus.
06:29

Transcription

Bon, j'ai fait un effort. J'avais envie de vous parler de thread. J'ai qu'un seul processeur sur ma machine virtuelle. Donc, j'ai redémarré ma machine virtuelle, et j'ai ajouté quatre processeurs. Maintenant, on va pouvoir parler de quelque chose d'un peu correct par rapport au multithreading. Comment est-ce que je sais que j'ai quatre processeurs ? Vous vous souvenez... Par exemple, nproc. Voilà, quatre. Par exemple, proc/cpuinfo qui va avoir, vous voyez, processeur 3. Je monte un petit peu... Processeur 2, 1 et 0. On est toujours en bas de 0 quand on compte les processeurs. Donc, le premier, c'est le processeur 0. D'ailleurs, pour extraire plus facilement le nombre de processeurs, je pourrais très bien faire un 4 de proc/cpuinfo et puis un petit grep. Par exemple, je pipe évidemment dans un grep. Je cherche processor. Et puis, grep, par défaut, colorise ce qui a été trouvé. Alors, ça a tendance, parfois, à m'énerver. Donc, je perds sans doute du temps à taper ça : color. Et je dis jamais " merci " . Voilà, c'est plus joli. Je préfère, quand même. J'ai ces informations. Évidemment, vous vous souvenez, dans le top, on a ici les tâches. Et dans ce top, j'ai ici le pourcentage de CPU qui est accumulé, vous vous souvenez. Et en faisant 1, vous voyez, je vais avoir maintenant... Donc, c'est ici... Mes quatre CPU avec, pour chacun, les indications qui vont bien. Je refais 1 pour en revenir ici. Et puis, dans top, vous avez également la possibilité d'afficher le nombre de threads. Alors, vous voyez ici, j'ai des tasks, mais je vais appuyer sur h majuscule. Donc, simplement, quand je suis dans le contexte de top, je peux saisir certaines commandes qui sont juste la lettre ou le chiffre, puisque je suis dans le contexte de top. J'ai pas besoin de faire une combinaison de touches. Donc, simplement, h majuscule. Voilà. Et je vois ici, au lieu du nombre de tâches, je vois le nombre de threads, et combien sont en cours, combien sont en veille, etc. Donc, voilà quelques infos pour les threads. Je m'en vais de top, et puis je vais essayer de faire quelque chose d'un peu sympathique avec mes threads. Donc, ce que j'ai décidé de faire, c'est... de prendre un fichier un peu volumineux. Alors, finalement... j'ai pris un iso de ubuntu desktop cette fois-ci puisqu'il fait 1 giga 5 au lieu des 600 et quelques mégas de la version serveur. Donc, ça me fait quelque chose de plus. Et puis, je vais en faire 1 gzip. Je vais le compresser. J'ai pas besoin de passer par tar, finalement, puisque tar, c'est a partie qui va... regrouper plusieurs fichiers dans une seule archive. Et ensuite, on passe par gzip, qui, lui, n'est pas capable de regrouper plusieurs fichiers. On est obligés de passer par tar pour regrouper les fichiers. et ensuite, gzip pour les compresser. Mais ici, j'ai qu'un seul fichier, finalement : mon iso. Et donc, il me suffit d'utiliser gzip. Et ce que je vais faire, c'est que je vais utiliser une version de gzip ou un autre programme, si vous voulez, qui, lui, est multithread. Alors, si j'utilise gzip même... On va essayer, d'ailleurs. On va faire un time. Et puis, je vais utiliser gzip. Je vais dire que je veux utiliser la compression maximum. Donc, on va avoir plus d'activités. Je vais dire k pour " keep" parce que si vous ne mettez pas ici d'option particulière, gzip a tendance à remplacer le fichier. Il va prendre ceci, le supprimer et remplacer par un gzip. Ici, vous voyez que je l'ai déjà fait. Donc, je vais utiliser cette option qui n'existe pas dans les anciennes versions de gzip, mais qui est simplement k pour " keep ". hein, " garder ". Et puis, je vais également utiliser l'option f pour " force ". Je vais forcer l'écrasement puisque j'ai déjà un fichier. Au lieu de le supprimer chaque fois, Je vais simplement écraser le fichier existant. Je fais ça et puis, on va regarder combien de temps ça prend, juste pour voir déjà. Et puis, je vais faire une pause et on revient à la fin. Voilà qui est fait. Donc vous voyez que ça a pris 1 minute 8 en terme de temps réel. Bon. Qu'est-ce que j'ai fait ? J'ai récupéré un autre utilitaire. Alors, donc, j'ai fait un sudo apt-get install et l'utilitaire, c'est un gzip, mais multithreadé, qui s'appelle pigz. P I G Z. Donc, il est déjà installé. Là, je vous montre simplement comment l'installer. C'est fait. On me dit : c'est déjà la dernière version. Et, au lieu de faire un gzip, je peux simplement remplacer par P I G Z qui est exactement le même type de gzip, mais, simplement, c'est une version qui utilise plusieurs threads, qui détecte combien il y a de processeurs sur la machine et qui détermine le nombre de threads dynamiquement. Vous pouvez le mettre à la main, si vous voulez avec un tiret p , combien de process... Et puis, on va dire : on va en mettre 4 ici. On n'a pas besoin de le faire. Il va le faire pour nous. Et donc, je vais faire la même chose. On va voir la différence de temps, déjà. Je lance. Je vais mettre en pause pour pas vous... faire patienter, et puis, on va voir le résultat. Voilà le résultat. Vous voyez qu'on a quand même un petit peu gagner du temps. Et vous noterez, d'ailleurs, c'est très intéressant, parce qu'on voit vraiment l'influence du multithreading, Ici, le temps réel. Et t2... 1 minute 8. Ici, le temps réel est de 0, 21. Donc, 21 secondes. Et ici, le temps utilisateur, donc le temps du CPU, est de 1, 14. Et le temps du CPU, ici, était de 1 minute 6. Donc, on a bien un temps total qui a été divisé par le nombre de CPU, mais en fait, le temps réel d'exécution, c'était finalement 21 secondes. puisqu'on a utilisé es quatre processeurs pour travailler. Donc, très, très bien. C'est exactement ce qu'il nous faut. Maintenant, on va juste regarder avec ça et donc, on a juste utiliser ça pour analyser, pendant l'exécution, on aura 21 secondes à peu près. Faudra qu'on se dépêche. mais pour analyser comment on va voir passer ces threads.

Linux : L'architecture système

Prenez en main les principes généraux de l’architecture système de Linux. Comprenez le fonctionnement du noyau (kernel), de la gestion de la mémoire, des processus, etc.

2h01 (20 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Thématiques :
IT
Systèmes d'exploitation
Spécial abonnés
Date de parution :15 sept. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !