Files
varlog/_cache/similar/89c5d6a3-fd31-4727-8171-5c37cdd42010.json
T
2026-05-15 10:37:48 +02:00

1 line
18 KiB
JSON

[{"uuid":"6249501b-c9a1-4552-805c-515225334a85","slug":"20230206-gestion-de-la-memoire-sous-linux","title":"Gestion de la mémoire sous Linux","category":"Journal geek","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-05 21:53:42","created_at":"2023-02-05 21:53:42","updated_at":"2023-02-05 21:53:42","tags":[],"plain":"La mémoire est gérée de manière dynamique par le noyau, qui s'assure que les processus ont suffisamment de mémoire physique disponible. Il existe plusieurs outils pour surveiller l'utilisation de la mémoire et éviter la fragmentation de la mémoire sous Linux. Voici quelques exemples courants :\nUtilisez la commande pour afficher l'utilisation de la mémoire physique et du swap. Cela vous permet de voir combien de mémoire est utilisée, combien est disponible et combien est utilisée par le swap.\nUtilisez la commande pour afficher les processus qui utilisent le plus de mémoire. Cela vous permet de voir les processus qui utilisent le plus de mémoire et de prendre des mesures pour libérer de la mémoire si nécessaire.\nUtilisez la commande pour afficher des statistiques détaillées sur l'utilisation de la mémoire, y compris la fragmentation de la mémoire.\nUtilisez l'outil pour afficher l'utilisation de la mémoire par processus et par propriétaire.\nUtilisez htop pour surveiller l'utilisation de la mémoire en temps réel, il affiche l'utilisation de la mémoire par processus avec des graphiques en temps réel. Il existe plusieurs techniques de gestion de la mémoire qui peuvent aider à maximiser les performances de votre système Linux.\nPaging : C'est un mécanisme de gestion de la mémoire qui permet de stocker des pages de mémoire sur le disque dur lorsque la mémoire vive est pleine. Cela permet de libérer de la mémoire pour les processus en cours d'exécution.\nSwap : Il s'agit d'un mécanisme de gestion de la mémoire qui permet de stocker des pages de mémoire sur un périphérique de stockage secondaire, comme un disque dur ou une partition dédiée, lorsque la mémoire vive est pleine.\nTransparent HugePages (THP) : C'est une technique de gestion de la mémoire qui permet d'optimiser l'utilisation de la mémoire en utilisant des pages de mémoire plus grandes.\nControl Groups (cgroups) : C'est une technique de gestion de la mémoire qui permet de limiter les ressources système allouées à différents groupes de processus. Cela permet de mieux gérer l'utilisation de la mémoire en assignant des limites de mémoire aux différents groupes de processus.\nMemory Management Unit (MMU) : C'est une unité matérielle qui gère l'accès à la mémoire et la traduction des adresses virtuelles en adresses physiques.\nKernel Same-Page Merging (KSM) : C'est une technique de gestion de la mémoire qui permet de fusionner des pages de mémoire similaires pour libérer de l'espace de mémoire.\nMemory Compression : Il s'agit d'une technique de gestion de la mémoire qui permet de compresser les données en mémoire pour libérer de l'espace de mémoire. Il est recommandé de surveiller régulièrement l'utilisation de la mémoire pour détecter les problèmes de fragmentation de la mémoire et prendre des mesures pour les résoudre. La fragmentation de la mémoire est un état où la mémoire est divisée en plusieurs petits morceaux qui ne peuvent pas être utilisés efficacement. Il existe deux types de fragmentation de la mémoire : fragmentation interne et fragmentation externe. La fragmentation interne est lorsque la mémoire physique est divisée en petits morceaux qui ne peuvent pas être utilisés par un seul processus, ce qui peut entraîner des problèmes de performance. La fragmentation externe est lorsqu'il y a suffisamment de mémoire physique disponible, mais elle n'est pas contiguë, cela peut causer des problèmes de performance lorsque les processus demandent une mémoire consécutive. Il existe des outils pour vérifier la fragmentation de la mémoire sous Linux. Parmi ces outils il y a :\n: Cet outil affiche les informations de fragmentation de la mémoire pour chaque niveau de page du noyau Linux.\n: Cet outil affiche les informations de fragmentation de la mémoire pour chaque type de page.\n: Cet outil affiche les informations de fragmentation de la mémoire pour chaque slab.\n: Cet outil affiche les informations de fragmentation de la mémoire pour chaque zone vmalloc.\n: Cet outil affiche les informations de fragmentation de la mémoire pour chaque zone mémoire. Voici quelques étapes que vous pouvez suivre pour réduire la fragmentation de la mémoire :\nFermez les programmes inutilisés : en fermant les programmes qui ne sont plus utilisés, vous libérez de la mémoire pour d'autres programmes.\nRedimensionner les caches : vous pouvez redimensionner les caches pour réduire la fragmentation de la mémoire.\nUtilisez des outils de gestion de la mémoire : il existe des outils tels que memcached, tmpfs ou zRam qui peuvent aider à gérer efficacement la mémoire.\nUtilisez une méthode de gestion de la mémoire : il existe des méthodes de gestion de la mémoire comme le ramfs, le tmpfs, les zones de mémoire, les balises de mémoire, etc. qui peuvent aider à gérer efficacement la mémoire.\nsurveillez les performances de votre système : Il est important de surveiller les performances de votre système en utilisant des outils tels que top, free ou vmstat pour suivre l'utilisation de la mémoire et d'autres ressources système.\nUtilisez des techniques de gestion de la mémoire avancées : Il existe des techniques de gestion de la mémoire avancées telles que Memory Management Unit (MMU), Kernel Same-Page Merging (KSM) ou Memory Compression (zRAM) qui peuvent aider à optimiser l'utilisation de la mémoire."},{"uuid":"593c8ceb-9071-4db8-85a4-2bca8a98774f","slug":"40-20200601-ssd-sur-raspberry-pi","title":"SSD sur Raspberry Pi / Passerelle, DNS et DHCP : le réseau à la maison","category":"Podcasts","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-06-01 09:13:29","created_at":"2020-06-01 09:13:29","updated_at":"2020-06-01 09:13:29","tags":[],"plain":"Voici un rapide tour des informations que je traite dans ce 40ème épisode : SSD sur Raspberry Pi / Passerelle, DNS et DHCP : le réseau à la maison Je vous parle de deux sujets : le branchement d'un SSD sur Rasbperry Pi et le fonctionnement du réseau IP à la maison. Cette page est amenée à évoluer. Réagissez à cet épisode dans la partie [Épisode disponible sur https:info.mindcast.fr/]\n-- Est-ce qu'un disque dur branché sur un Raspberry Pi 2 est vraiment utile ? Evidemment, je pose la question d'un point de vue de performance, car le RPI est limité par la présente de ports USB 2.\nJe vous présente comment j'ai préparé mon disque dur et je réalise les tests de performances. Les commandes utilisées dans cette vidéo sont :\nlsblk - lister les périphériques de type bloc\nblkid - lister les id des périphériques de type bloc\nrsync - copier et synchroniser les fichiers\ndd - copier en bloc, me permet de faire des tests de performance d'écriture\niostat - statistique sur les périphériques Les fichiers modifiés dans cette vidéo sont :\ncmdline.txt dans la partition '/boot' de la carte SD\n/etc/fstab dans la partition '/' du disques dur externe La première partie de la vidéo indique comment j'ai préparé le disque dur.\nCette étape est interessante car je vous indique comment copier les données de la carte S vers le disque dur externe sans casser toutes les permissions et propriétaires des différents fichiers.\nLa méthode utilisée permet de toujours conserver le moyen de démarrer la carte SD en cas de défaillance du disque (mauvais branchement USB, mauvaise alimentation électrique, defaillance mécanique...). Le secondes partie, vous dévoile les moyens logiciels pour évaluer les performances d'écriture sur un périphérique. Ces moyens sollicitent énormément la RAM, donc il faut les utiliser avec précaution. En conclusion, même pour une carte comme le Raspberry Pi 2 qui ne possède qu'un Port USB, avoir un disque dur externe branché en autoalimentation sur USB, ça vaut franchement le coup pour des questions de débit d'écriture sur le disque. Vidéo disponible sur la chaine Youtube 'S'informer sur la Tech' https:youtu.be/MDzLiVKCeXE\n-- Comment fonctionne le réseau à la maison ? Pourquoi avons-nous besoin de routeur ? Pourquoi un DHCP est utile ou inutile ? Comment mettre en place un filtrage Internet ? Première vidéo incontournable, d'une longue série, très instructive et qui permettra de poser de bonnes bases pour la suite. Je vous recommande de passer un moment dessus pour enfin assurer la maitrise de votre réseau domestique. Les commandes utilisées sont , et . Vidéo disponible sur la chaine Youtube 'S'informer sur la Tech' https://youtu.be/qs-J9oXkUEA"},{"uuid":"96eaaeb7-e04f-472d-b4ed-37ffbdae945f","slug":"relever-temperature-cpu-gpu","title":"Relever la température dans la GPU et le CPU d'un Raspberry Pi","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-04-17 20:51:11","created_at":"2020-04-17 20:51:11","updated_at":"2020-04-17 20:51:11","tags":[],"plain":"Il est judicieux de connaître la température du processeur et de la puce graphique afin de ne pas endommager votre Raspberry Pi. La température maximale est de 80 °C, au delà de 93 °C les composants peuvent subir des dommages irréversibles. Le pire ? Griller votre carte ! Voici mes tests réalisés avec un Raspberry Pi 4. Fondamentaux\nLa température de la GPU est accessible depuis la commande et le paramètre : La température du processeur est stocké dans le fichier , exprimée en millième de °C : Pour afficher la valeur en °C, il faut effectuer une division par 1000 de la valeur contenue dans : Script évolué\nLe script ci-dessous affiche la température de la GPU et du CPU. Pour rendre exécutable le code : Pour afficher toutes les secondes, les informations rafraîchies : Exemple d'execution : Biblio\nHow to find out Raspberry Pi GPU and ARM CPU temperature on Linux lm-sensors does not detect integrated temperature sensor on Raspberry Pi"},{"uuid":"4df6d166-5451-4d4f-a29f-a094f2e68f7f","slug":"20230112-qu-est-ce-linux","title":"Le cœur de l'OS GNU/Linux","category":"Journal geek","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-09 15:20:59","created_at":"2023-02-09 15:20:59","updated_at":"2023-02-09 15:20:59","tags":[],"plain":"Le noyau Linux est le cœur du système d'exploitation GNU/Linux. Il gère les processus, les fichiers, la mémoire, et les périphériques d'entrée/sortie. Il fournit également des services tels que la gestion des communications réseau et des pilotes pour les périphériques. Linus Torvalds en 1991, alors étudiant à l'Université d'Helsinki, en Finlande, créé le noyau. Le noyau Linux est basé sur le noyau Unix, respecte les normes POSIX et fournit une interface de programmation pour les développeurs qui s'appuient sur les fonctionnalités Unix standard. Il est multitâche et permet à plusieurs processus d'exécuter simultanément sur un ordinateur, en gérant efficacement les ressources système telles que la mémoire et les processeurs. Il est également orienté sécurité et intègre des fonctionnalités de sécurité pour protéger les données et les ressources de l'utilisateur contre les logiciels malveillants et les attaques extérieures. Il est compatible avec les périphériques et offre une prise en charge pour une grande variété de matériel, y compris les processeurs, les cartes graphiques, les périphériques d'entrée et de sortie, les réseaux, etc. Les utilisateurs au sens large du terme, peuvent lire, modifier et distribuer le code source de Linux. Le noyau Linux, est libre et open-source, c'est-à-dire qu'il est développé par une communauté de développeurs et est utilisé dans de nombreux systèmes d'exploitation différents, notamment Linux, Android, Chrome OS. Le système d'exploitation (OS) GNU/Linux est un logiciel qui gère les ressources d'un ordinateur et fournit un environnement pour les programmes. Il gère les interactions entre le matériel de l'ordinateur et les logiciels, et fournit des services de base pour les programmes tels que la gestion de la mémoire, de la sauvegarde des fichiers, et de l'accès aux périphériques d'entrée/sortie. Il comprend le noyau Linux ainsi que des logiciels supplémentaires pour les tâches courantes telles que la navigation sur le Web, la lecture de courrier électronique, la création de documents, etc. Les utilisateurs peuvent adapter GNU/Linux à leurs besoins spécifiques et que de nombreuses versions de GNU/Linux ont été créées, appelées \"distributions\" qui ont des objectifs différents, des ensembles de programmes différents, et des philosophies différentes. Les utilisateurs utilisant GNU/Linux, cherchent un système d'exploitation stable, sécurisé et personnalisable. Il est convenu que dire \"GNU/Linux\" est fastidieux, nous utiliserons donc le terme \"Linux\" pour désigner ce système d'exploitation. Bientôt d'autres informations plus passionnantes."},{"uuid":"76ede607-4a6b-434d-b01e-82aa509f3448","slug":"105-installation-du-logiciel-arduino-ide","title":"Installer le logiciel Arduino IDE sous Linux","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-19 06:54:59","created_at":"2023-02-19 06:54:59","updated_at":"2023-02-19 06:54:59","tags":[],"plain":"Cet article a été testé avec les distributions suivantes\nLinux Mint 19 64 bits\nLinux Debian 9.6 (stretch) 64 bits\nMX Linux 18.3 basé sur Linux Debian 9\nZorin OS 16.1 basé sur Linux Debian Je privilégie une installation \"manuelle\" de l'application Arduino IDE afin d'utiliser une des dernières versions. Certaines options et paramètres n'apparaissent pas dans les versions packagées des distributions. J'ai eu le cas avec Debian 9.6 où je ne pouvais pas utiliser des cartes ESP 8266. Date de relecture : 15 août 2022 Il faut télécharger la version 1.8.19. Vous pouvez vérifier la dernière version disponible depuis le site <https:www.arduino.cc/en/Main/Software>. Adaptez les informations ci-dessous suivant les informations trouvées sur le site arduino.cc.\nTélécharger Arduino IDE Software\nDepuis mon dossier home ou un autre dossier personnel, je télécharge le programme Arduino IDE. Je préfère l'effectuer depuis une ligne de commande.\nDéployer Arduino IDE Software\nligne 1 : déployer Arduino IDE dans un dossier accessible à tous : . L'archive tar va extraire les fichiers dans un dossier comportant le numéro de version. ligne 3 : si un lien existait, détruit le lien sur avec unlink ligne 4 : réaliser un alias vers le dossier . De cette manière, on s'affranchit du numéro de version. Nous pouvons également déployer de nouvelles versions sans perturber la précédente. ligne 5 : exécuter le script qui permet de créer un raccourci sur le bureau graphique. <code BASH [enablelinenumbers=\"true\", startlinenumbersat=\"1\"]>\nsudo tar -xvf arduino.tar.xz -C /opt\nsudo chown -R root:root /opt/arduino-1.8.19\nsudo unlink /opt/arduino\nsudo ln -s /opt/arduino-1.8.19/ /opt/arduino\nsudo /opt/arduino/install.sh\n</code>\nProblèmes rencontrés après le déploiement\nDroits sur tty et dialout\nIl faut ajouter l'utilisateur de l'application Arduino IDE aux groupes et . L'exemple suivant permet d'ajouter l'utilisateur aux groupes et . Si vous venez de saisir les lignes de commandes , vous devez redémarrer.\nVersion de Java incorrecte\nLe message suivant peut apparaître dans l'application Arduino IDE : Il se peut que la version de Java ne soit pas bonne. Vous pouvez le vérifier avec . Toutefois, un java est intégré avec l'application Arduino IDE. ( me renvoie la version ). Il faudra peut être toutefois changer les paramètres java de l'OS.\nJ'ai testé avec OpenJDK Java 8 avec succès. Par contre Java 10 et 11 ne sont pas compatibles. Pour procéder à l'installation de Java 8 et choisir par défaut cette version :\nSerial port not selected\nDans certains cas, sous Mint, il faut désinstaller \nAucune carte n'est détectée Le câble USB peut être également non cablé pour les données (data) Pour rappel, voici le cablage d'un port USB\nExécuter votre premier programme\nVoici donc notre premier programme (celui qui est décrit dans la vidéo). Cette suite d'instructions va faire clignoter une LED branchée sur la broche 13 de l'Arduino toutes les secondes.\\\\\nIl n'est pas nécessaire de brancher une LED, car rappelez-vous, la LED sur la carte, mentionnée dans la , servira dans notre exemple sans forcément réalisée un montage électronique. Lorsque vous utilisez le logiciel Arduino, il peut être trouvé en cliquant sur . Vous pouvez également copier le code suivant dans votre éditeur : <code C basics-blink.c [enablelinenumbers=\"true\", startlinenumbersat=\"1\"]>\n/\n Clignotement\n Allume la LED pendant 1 seconde,\n puis l'éteint pendant 0,5 seconde.\n/\n \n Numéro de la broche à laquelle est\n connectée la LED\nint led = 13;\n \n le code dans cette fonction est exécuté une fois au début\nvoid setup() {\nindique que la broche de la LED une sortie :\non va modifier sa tension\n pinMode(led, OUTPUT);\n}\n \n le code dans cette fonction est exécuté en boucle\nvoid loop() {\n digitalWrite(led, HIGH); allumer la LED (tension 5V sur la broche)\n delay(1000); attendre 1000ms = 1s\n digitalWrite(led, LOW); éteindre la LED (tension 0V sur la broche)\n delay(1000); * attendre à nouveau 1seconde\n}\n</code> Deux déclaration de fonctions sont obligatoires :\nsetup\nloop Dans ce bout de code, nous appelons trois fonctions :\ndigitalWrite\npinMode\ndelay Pour exécuter ce bout de code, il faudra brancher l'Arduino sur port USB et sélectionner dans le menu , sélectionner ."}]