Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:centos:8:avance:l101 [2021/07/13 15:00] – admin | elearning:workbooks:centos:8:avance:l101 [2022/05/02 08:14] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
- | Version : **2021.01** | + | Version : **2022.01** |
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
Ligne 11: | Ligne 11: | ||
* **LCF601 - Gestion des Paramètres et les Ressources du Matériel** | * **LCF601 - Gestion des Paramètres et les Ressources du Matériel** | ||
* Contenu du Module | * Contenu du Module | ||
- | * Fichiers Spéciaux | + | * Présentation des Fichiers Spéciaux |
- | * Commandes | + | * LAB #1 - Commandes |
- | * La Commande lspci | + | * 1.1 - La Commande lspci |
- | * La Commande lsusb | + | * 1.2 - La Commande lsusb |
- | * La Commande dmidecode | + | * 1.3 - La Commande dmidecode |
- | * Répertoire /proc | + | * LAB #2 - La Commande sysctl |
- | * Répertoires | + | * 2.1 - Répertoire |
- | * ide/scsi | + | * Fichiers |
- | * acpi | + | * Processeur |
- | | + | * Interruptions système |
- | * net | + | * Canaux DMA |
- | * sys | + | * Plages d' |
- | * La Commande sysctl | + | * Périphériques |
- | | + | * Modules |
- | * Processeur | + | * Statistiques de l' |
- | * Interruptions système | + | * Partitions |
- | * Canaux DMA | + | * Espaces de pagination |
- | * Plages d' | + | * Statistiques d' |
- | * Périphériques | + | * Statistiques d' |
- | * Modules | + | * Version du noyau |
- | * Statistiques de l' | + | * Répertoires |
- | * Partitions | + | * ide/scsi |
- | * Espaces de pagination | + | * acpi |
- | * Statistiques d' | + | * bus |
- | * Statistiques d' | + | * net |
- | * Version du noyau | + | * sys |
- | * Interprétation des informations dans /proc | + | * 2.2 - Utilisation de la Commande sysctl |
- | * Commandes | + | * LAB #3 - Interprétation des informations dans /proc |
- | | + | * 3.1 - free |
- | * uptime ou w | + | * 3.2 - uptime ou w |
- | * iostat | + | * 3.3 - iostat |
- | * hdparm | + | * 3.4 - hdparm |
- | * vmstat | + | * 3.5 - vmstat |
- | * mpstat | + | * 3.6 - mpstat |
- | * sar | + | * 3.7 - sar |
- | * collectd | + | |
* Modules usb | * Modules usb | ||
* udev | * udev | ||
* La Commande udevadm | * La Commande udevadm | ||
* Système de fichiers /sys | * Système de fichiers /sys | ||
- | * Limiter les Ressources | + | * LAB #4 - Limiter les Ressources |
- | * ulimit | + | * 4.1 - ulimit |
- | * Groupes de Contrôle | + | * 4.2 - Groupes de Contrôle |
- | * LAB #1 - Travailler avec les CGroups | + | * La Limitation de la Mémoire |
- | * 1.1 - La Limitation de la Mémoire | + | * La Commande cgcreate |
- | * 1.2 - La Commande cgcreate | + | * La Commande cgdelete |
- | * 1.3 - La Commande cgdelete | + | * Le Fichier / |
- | * 1.4 - Le Fichier / | + | * La Commande cgconfigparser |
- | * 1.5 - La Commande cgconfigparser | + | |
- | =====Fichiers Spéciaux===== | + | =====Présentation des Fichiers Spéciaux===== |
Dans l' | Dans l' | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** : Les périphériques qui nécessitent à ce que l' | **Important** : Les périphériques qui nécessitent à ce que l' | ||
</ | </ | ||
Ligne 132: | Ligne 130: | ||
* le **mineur** identifie le périphérique ou une particularité du périphérique telle une partition d'un disque. | * le **mineur** identifie le périphérique ou une particularité du périphérique telle une partition d'un disque. | ||
- | =====Commandes===== | + | =====LAB #1 - Commandes===== |
- | ====La Commande lspci==== | + | ====1.1 - La Commande lspci==== |
Cette commande vous renseigne sur les adaptateurs reliés aux bus PCI, AGP et PCI express : | Cette commande vous renseigne sur les adaptateurs reliés aux bus PCI, AGP et PCI express : | ||
Ligne 238: | Ligne 236: | ||
</ | </ | ||
- | ====La Commande lsusb==== | + | ====1.2 - La Commande lsusb==== |
Cette commande vous renseigne sur les adaptateurs reliés au bus usb : | Cette commande vous renseigne sur les adaptateurs reliés au bus usb : | ||
Ligne 279: | Ligne 277: | ||
</ | </ | ||
- | ====La Commande dmidecode==== | + | ====1.3 - La Commande dmidecode==== |
La commande **dmidecode** lit la table **DMI** (//Desktop Management Interface// | La commande **dmidecode** lit la table **DMI** (//Desktop Management Interface// | ||
Ligne 462: | Ligne 460: | ||
</ | </ | ||
- | =====Répertoire /proc===== | + | =====LAB #2 - La commande sysctl===== |
+ | |||
+ | ====2.1 - Répertoire /proc==== | ||
Le répertoire /proc contient des fichiers et des répertoires virtuels. Le contenu de ces fichiers est créé dynamiquement lors de la consultation. Seul root peut consulter la totalité des informations dans le répertoire /proc. | Le répertoire /proc contient des fichiers et des répertoires virtuels. Le contenu de ces fichiers est créé dynamiquement lors de la consultation. Seul root peut consulter la totalité des informations dans le répertoire /proc. | ||
Ligne 501: | Ligne 501: | ||
</ | </ | ||
- | ====Répertoires==== | + | ===Fichiers=== |
- | + | ||
- | ===ide/ | + | |
- | + | ||
- | Ce répertoire contient des répertoires dans lesquels se trouvent des informations sur la capacité, le type et la géométrie des disques. | + | |
- | + | ||
- | ===acpi=== | + | |
- | + | ||
- | Ce répertoire contient des informations sur la gestion de l' | + | |
- | + | ||
- | ===bus=== | + | |
- | + | ||
- | Ce répertoire contient un sous-répertoire par bus. | + | |
- | + | ||
- | ===net=== | + | |
- | + | ||
- | Ce répertoire contient des informations sur le réseau. | + | |
- | + | ||
- | ===sys=== | + | |
- | + | ||
- | Ce répertoire contient des paramètres du noyau. Certains des fichiers dans ce répertoire sont accessibles en écriture par root en temps réel. Par exemple pour éviter des attaques réseau **%%DoS%%** utilisant la commande **ping**, saisissez la commande suivante : | + | |
- | + | ||
- | # echo 1 > / | + | |
- | + | ||
- | Cette commande a pour résultat d' | + | |
- | + | ||
- | ==La commande sysctl== | + | |
- | + | ||
- | Les fichiers dans le répertoire **/ | + | |
- | + | ||
- | La commande **sysctl** applique les règles consignés dans le fichier **/ | + | |
- | + | ||
- | Saisissez la commande : | + | |
- | + | ||
- | < | + | |
- | [root@centos8 ~]# cat / | + | |
- | # sysctl settings are defined through files in | + | |
- | # / | + | |
- | # | + | |
- | # Vendors settings live in / | + | |
- | # To override a whole file, create a new file with the same in | + | |
- | # / | + | |
- | # only specific settings, add a file with a lexically later | + | |
- | # name in / | + | |
- | # | + | |
- | # For more information, | + | |
- | + | ||
- | [root@centos8 ~]# ls -l / | + | |
- | total 0 | + | |
- | lrwxrwxrwx. 1 root root 14 Mar 16 15:42 99-sysctl.conf -> ../ | + | |
- | [root@centos8 ~]# ls -l / | + | |
- | total 24 | + | |
- | -rw-r--r--. 1 root root 1810 Dec 22 2020 10-default-yama-scope.conf | + | |
- | -rw-r--r--. 1 root root 524 Mar 16 15:42 50-coredump.conf | + | |
- | -rw-r--r--. 1 root root 1270 Mar 16 15:42 50-default.conf | + | |
- | -rw-r--r--. 1 root root 246 Jun 15 2020 50-libkcapi-optmem_max.conf | + | |
- | -rw-r--r--. 1 root root 636 Mar 16 15:42 50-pid-max.conf | + | |
- | -rw-r--r--. 1 root root 499 Nov 26 2019 60-libvirtd.conf | + | |
- | + | ||
- | [root@centos8 ~]# cat / | + | |
- | # This file is part of systemd. | + | |
- | # | + | |
- | # systemd is free software; you can redistribute it and/or modify it | + | |
- | # under the terms of the GNU Lesser General Public License as published by | + | |
- | # the Free Software Foundation; either version 2.1 of the License, or | + | |
- | # (at your option) any later version. | + | |
- | + | ||
- | # See sysctl.d(5) and core(5) for documentation. | + | |
- | + | ||
- | # To override settings in this file, create a local file in /etc | + | |
- | # (e.g. / | + | |
- | # there. | + | |
- | + | ||
- | # System Request functionality of the kernel (SYNC) | + | |
- | # | + | |
- | # Use kernel.sysrq = 1 to allow all keys. | + | |
- | # See https:// | + | |
- | # of values and keys. | + | |
- | kernel.sysrq = 16 | + | |
- | + | ||
- | # Append the PID to the core filename | + | |
- | kernel.core_uses_pid = 1 | + | |
- | + | ||
- | # https:// | + | |
- | kernel.kptr_restrict = 1 | + | |
- | + | ||
- | # Source route verification | + | |
- | net.ipv4.conf.all.rp_filter = 1 | + | |
- | + | ||
- | # Do not accept source routing | + | |
- | net.ipv4.conf.all.accept_source_route = 0 | + | |
- | + | ||
- | # Promote secondary addresses when the primary address is removed | + | |
- | net.ipv4.conf.all.promote_secondaries = 1 | + | |
- | + | ||
- | # Fair Queue CoDel packet scheduler to fight bufferbloat | + | |
- | net.core.default_qdisc = fq_codel | + | |
- | + | ||
- | # Enable hard and soft link protection | + | |
- | fs.protected_hardlinks = 1 | + | |
- | fs.protected_symlinks = 1 | + | |
- | </ | + | |
- | + | ||
- | Les options de la commande **sysctl** sont : | + | |
- | + | ||
- | < | + | |
- | [root@centos8 ~]# sysctl --help | + | |
- | + | ||
- | Usage: | + | |
- | | + | |
- | + | ||
- | Options: | + | |
- | -a, --all display all variables | + | |
- | -A alias of -a | + | |
- | -X alias of -a | + | |
- | --deprecated | + | |
- | -b, --binary | + | |
- | -e, --ignore | + | |
- | -N, --names | + | |
- | -n, --values | + | |
- | -p, --load[=< | + | |
- | -f alias of -p | + | |
- | --system | + | |
- | -r, --pattern < | + | |
- | | + | |
- | -q, --quiet | + | |
- | -w, --write | + | |
- | -o does nothing | + | |
- | -x does nothing | + | |
- | -d alias of -h | + | |
- | + | ||
- | -h, --help | + | |
- | -V, --version | + | |
- | + | ||
- | For more details see sysctl(8). | + | |
- | </ | + | |
- | + | ||
- | <WRAP center round important> | + | |
- | **Important** : Consultez la page de la traduction du manuel de **sysctl** **[[http:// | + | |
- | </ | + | |
- | + | ||
- | ====Fichiers==== | + | |
- | ===Processeur=== | + | ==Processeur== |
< | < | ||
Ligne 865: | Ligne 724: | ||
</ | </ | ||
- | ===Interruptions système=== | + | ==Interruptions système== |
< | < | ||
Ligne 907: | Ligne 766: | ||
</ | </ | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** : Un pilote de périphérique demande au processeur de fournir un service en utilisant un IRQ. Quand la demande est faite, le processeur interrompe ses activités et passe le contrôle au pilote identifié par l'IRQ. Techniquement l' | **Important** : Un pilote de périphérique demande au processeur de fournir un service en utilisant un IRQ. Quand la demande est faite, le processeur interrompe ses activités et passe le contrôle au pilote identifié par l'IRQ. Techniquement l' | ||
</ | </ | ||
- | ===Canaux DMA=== | + | ==Canaux DMA== |
< | < | ||
Ligne 918: | Ligne 777: | ||
</ | </ | ||
- | ===Plages d' | + | ==Plages d' |
< | < | ||
Ligne 950: | Ligne 809: | ||
</ | </ | ||
- | ===Périphériques=== | + | ==Périphériques== |
< | < | ||
Ligne 1012: | Ligne 871: | ||
</ | </ | ||
- | ===Modules=== | + | ==Modules== |
< | < | ||
Ligne 1040: | Ligne 899: | ||
</ | </ | ||
- | ===Statistiques de l' | + | ==Statistiques de l' |
< | < | ||
Ligne 1053: | Ligne 912: | ||
</ | </ | ||
- | ===Partitions=== | + | ==Partitions== |
< | < | ||
Ligne 1068: | Ligne 927: | ||
</ | </ | ||
- | ===Espaces de pagination=== | + | ==Espaces de pagination== |
< | < | ||
Ligne 1076: | Ligne 935: | ||
</ | </ | ||
- | ===Statistiques d' | + | ==Statistiques d' |
< | < | ||
Ligne 1083: | Ligne 942: | ||
</ | </ | ||
- | ===Statistiques d' | + | ==Statistiques d' |
< | < | ||
Ligne 1139: | Ligne 998: | ||
</ | </ | ||
- | ===Version du noyau=== | + | ==Version du noyau== |
< | < | ||
Ligne 1146: | Ligne 1005: | ||
</ | </ | ||
- | ===== Interprétation des informations dans /proc===== | + | ===Répertoires=== |
+ | |||
+ | ==ide/ | ||
+ | |||
+ | Ce répertoire contient des répertoires dans lesquels se trouvent des informations sur la capacité, le type et la géométrie des disques. | ||
+ | |||
+ | ==acpi== | ||
+ | |||
+ | Ce répertoire contient des informations sur la gestion de l' | ||
+ | |||
+ | ==bus== | ||
+ | |||
+ | Ce répertoire contient un sous-répertoire par bus. | ||
+ | |||
+ | ==net== | ||
+ | |||
+ | Ce répertoire contient des informations sur le réseau. | ||
+ | |||
+ | ==sys== | ||
+ | |||
+ | Ce répertoire contient des paramètres du noyau. Certains des fichiers dans ce répertoire sont accessibles en écriture par root en temps réel. Par exemple pour éviter des attaques réseau **%%DoS%%** utilisant la commande **ping**, saisissez la commande suivante : | ||
+ | |||
+ | # echo 1 > / | ||
+ | |||
+ | Cette commande a pour résultat d' | ||
+ | |||
+ | ====2.2 - Utilisation de la Commande sysctl==== | ||
+ | |||
+ | Les fichiers dans le répertoire **/ | ||
+ | |||
+ | La commande **sysctl** applique les règles consignés dans le fichier **/ | ||
+ | |||
+ | Saisissez la commande : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# cat / | ||
+ | # sysctl settings are defined through files in | ||
+ | # / | ||
+ | # | ||
+ | # Vendors settings live in / | ||
+ | # To override a whole file, create a new file with the same in | ||
+ | # / | ||
+ | # only specific settings, add a file with a lexically later | ||
+ | # name in / | ||
+ | # | ||
+ | # For more information, | ||
+ | |||
+ | [root@centos8 ~]# ls -l / | ||
+ | total 0 | ||
+ | lrwxrwxrwx. 1 root root 14 Mar 16 15:42 99-sysctl.conf -> ../ | ||
+ | [root@centos8 ~]# ls -l / | ||
+ | total 24 | ||
+ | -rw-r--r--. 1 root root 1810 Dec 22 2020 10-default-yama-scope.conf | ||
+ | -rw-r--r--. 1 root root 524 Mar 16 15:42 50-coredump.conf | ||
+ | -rw-r--r--. 1 root root 1270 Mar 16 15:42 50-default.conf | ||
+ | -rw-r--r--. 1 root root 246 Jun 15 2020 50-libkcapi-optmem_max.conf | ||
+ | -rw-r--r--. 1 root root 636 Mar 16 15:42 50-pid-max.conf | ||
+ | -rw-r--r--. 1 root root 499 Nov 26 2019 60-libvirtd.conf | ||
+ | |||
+ | [root@centos8 ~]# cat / | ||
+ | # This file is part of systemd. | ||
+ | # | ||
+ | # systemd is free software; you can redistribute it and/or modify it | ||
+ | # under the terms of the GNU Lesser General Public License as published by | ||
+ | # the Free Software Foundation; either version 2.1 of the License, or | ||
+ | # (at your option) any later version. | ||
+ | |||
+ | # See sysctl.d(5) and core(5) for documentation. | ||
+ | |||
+ | # To override settings in this file, create a local file in /etc | ||
+ | # (e.g. / | ||
+ | # there. | ||
+ | |||
+ | # System Request functionality of the kernel (SYNC) | ||
+ | # | ||
+ | # Use kernel.sysrq = 1 to allow all keys. | ||
+ | # See https:// | ||
+ | # of values and keys. | ||
+ | kernel.sysrq = 16 | ||
+ | |||
+ | # Append the PID to the core filename | ||
+ | kernel.core_uses_pid = 1 | ||
+ | |||
+ | # https:// | ||
+ | kernel.kptr_restrict = 1 | ||
+ | |||
+ | # Source route verification | ||
+ | net.ipv4.conf.all.rp_filter = 1 | ||
+ | |||
+ | # Do not accept source routing | ||
+ | net.ipv4.conf.all.accept_source_route = 0 | ||
+ | |||
+ | # Promote secondary addresses when the primary address is removed | ||
+ | net.ipv4.conf.all.promote_secondaries = 1 | ||
+ | |||
+ | # Fair Queue CoDel packet scheduler to fight bufferbloat | ||
+ | net.core.default_qdisc = fq_codel | ||
+ | |||
+ | # Enable hard and soft link protection | ||
+ | fs.protected_hardlinks = 1 | ||
+ | fs.protected_symlinks = 1 | ||
+ | </ | ||
+ | |||
+ | Les options de la commande **sysctl** sont : | ||
+ | |||
+ | < | ||
+ | [root@centos8 ~]# sysctl --help | ||
+ | |||
+ | Usage: | ||
+ | | ||
+ | |||
+ | Options: | ||
+ | -a, --all display all variables | ||
+ | -A alias of -a | ||
+ | -X alias of -a | ||
+ | --deprecated | ||
+ | -b, --binary | ||
+ | -e, --ignore | ||
+ | -N, --names | ||
+ | -n, --values | ||
+ | -p, --load[=< | ||
+ | -f alias of -p | ||
+ | --system | ||
+ | -r, --pattern < | ||
+ | | ||
+ | -q, --quiet | ||
+ | -w, --write | ||
+ | -o does nothing | ||
+ | -x does nothing | ||
+ | -d alias of -h | ||
+ | |||
+ | -h, --help | ||
+ | -V, --version | ||
+ | |||
+ | For more details see sysctl(8). | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** : Consultez la page de la traduction du manuel de **sysctl** **[[http:// | ||
+ | </ | ||
+ | |||
+ | =====LAB#3 - Interprétation des informations dans /proc===== | ||
Les informations brutes stockées dans /proc peuvent être interprétées grâce à l' | Les informations brutes stockées dans /proc peuvent être interprétées grâce à l' | ||
Ligne 1156: | Ligne 1156: | ||
* vmstat, | * vmstat, | ||
* mpstat, | * mpstat, | ||
- | * sar, | + | * sar. |
- | * collectd. | + | |
- | ====La Commande free==== | + | ====3.1 - La Commande free==== |
La commande **free** permet de donner l’état de la mémoire totale, libre, partagée, swap et bufferisée. Saisissez donc la commande suivante : | La commande **free** permet de donner l’état de la mémoire totale, libre, partagée, swap et bufferisée. Saisissez donc la commande suivante : | ||
Ligne 1210: | Ligne 1209: | ||
</ | </ | ||
- | ====Les Commandes uptime et w==== | + | ====3.2 - Les Commandes uptime et w==== |
Chacune des ces commandes indique la charge moyenne du ou des processeurs depuis 1 minute, 5 minutes et 15 minutes : | Chacune des ces commandes indique la charge moyenne du ou des processeurs depuis 1 minute, 5 minutes et 15 minutes : | ||
Ligne 1267: | Ligne 1266: | ||
</ | </ | ||
- | ====La Commande iostat==== | + | ====3.3 - La Commande iostat==== |
La commande **iostat** affiche des statistiques sur l' | La commande **iostat** affiche des statistiques sur l' | ||
Ligne 1306: | Ligne 1305: | ||
Au-dessous de la première ligne indiquant la version du noyau du système et son nom d' | Au-dessous de la première ligne indiquant la version du noyau du système et son nom d' | ||
- | * Pourcentage de temps passé en mode utilisateur (exécutant des applications, | + | * **%user** - Pourcentage de temps passé en mode utilisateur (exécutant des applications, |
- | * Pourcentage de temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l'aide de la commande nice) | + | * **%nice** - Pourcentage de temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l'aide de la commande nice) |
- | * Pourcentage de temps passé en mode noyau | + | * **%system** - Pourcentage de temps passé en mode noyau |
- | * Pourcentage de temps passé en inactivité | + | * **%steal** - Pourcentage du temps passé par des CPU virtuels en attendant que l' |
+ | * **%iowait** - Pourcentage du temps passé à attendre les entrées et les sorties des disques. | ||
+ | * **%idle** - Pourcentage de temps passé en inactivité | ||
Notez la valeur de **%iowait**. Dans le cas où ce pourcentage est trop élévé, ceci indique que le processeur passe son temps à attendre les entrées et les sorties de disque. | Notez la valeur de **%iowait**. Dans le cas où ce pourcentage est trop élévé, ceci indique que le processeur passe son temps à attendre les entrées et les sorties de disque. | ||
Ligne 1315: | Ligne 1316: | ||
Au-dessous du rapport d' | Au-dessous du rapport d' | ||
- | * La spécification du périphérique, apparaissant sous la forme dev< | + | * La spécification du périphérique. |
* Le nombre de transferts (ou opérations d'E/S) par seconde. | * Le nombre de transferts (ou opérations d'E/S) par seconde. | ||
- | * Le nombre de blocs de 512 octets | + | * Le nombre de blocs de KB lus par seconde. |
- | * Le nombre de blocs de 512 octets | + | * Le nombre de blocs de KB écrits par seconde. |
- | * Le nombre total de blocs de 512 octets | + | * Le nombre total de KB lus. |
- | * Le nombre total de blocs de 512 octets | + | * Le nombre total de KB écrits. |
| | ||
- | Dernèrement, pour voir les statistiques étendues des disques, utilisez la commande suivante : | + | Dernièrement, pour voir les statistiques étendues des disques, utilisez la commande suivante : |
< | < | ||
Ligne 1348: | Ligne 1349: | ||
</ | </ | ||
- | ====La Commande hdparm==== | + | ====3.4 - La Commande hdparm==== |
Pour surveiller la vitesse des entrées et des sorties du disque, vous pouvez utiliser la commande **hdparm** : | Pour surveiller la vitesse des entrées et des sorties du disque, vous pouvez utiliser la commande **hdparm** : | ||
Ligne 1359: | Ligne 1360: | ||
</ | </ | ||
- | ====La Commande vmstat==== | + | ====3.5 - La Commande vmstat==== |
La commande **vmstat** affiche des statistiques sur la mémoire, la pagination et la charge ponctuelle du processeur : | La commande **vmstat** affiche des statistiques sur la mémoire, la pagination et la charge ponctuelle du processeur : | ||
Ligne 1442: | Ligne 1443: | ||
</ | </ | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** : Par défaut la commande vmstat affiche des informations depuis le démarrage du système. | **Important** : Par défaut la commande vmstat affiche des informations depuis le démarrage du système. | ||
</ | </ | ||
- | ====La Commande mpstat==== | + | ====3.6 - La Commande mpstat==== |
La commande **mpstat** affiche des statistiques détaillées sur le CPU : | La commande **mpstat** affiche des statistiques détaillées sur le CPU : | ||
Ligne 1559: | Ligne 1560: | ||
</ | </ | ||
- | ====La Commande sar==== | + | ====3.7 - La Commande sar==== |
La commande **sar** (**S**ystem **A**ctivity **R**eporter) permet de surveiller toutes les ressources du système selon l' | La commande **sar** (**S**ystem **A**ctivity **R**eporter) permet de surveiller toutes les ressources du système selon l' | ||
Ligne 1622: | Ligne 1623: | ||
</ | </ | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** : Notez la ligne **OnCalendar=** qui est necessaire afin de surcharger la valeur par défaut. | **Important** : Notez la ligne **OnCalendar=** qui est necessaire afin de surcharger la valeur par défaut. | ||
</ | </ | ||
Ligne 1956: | Ligne 1957: | ||
-y TTY devices statistics [A_SERIAL] | -y TTY devices statistics [A_SERIAL] | ||
</ | </ | ||
- | |||
- | ====La Commande collectd==== | ||
- | |||
- | Installez collectd à partir du dépôt EPEL : | ||
- | |||
- | < | ||
- | [root@centos8 ~]# dnf install epel-release -y | ||
- | ... | ||
- | [root@centos8 ~]# dnf install collectd -y | ||
- | </ | ||
- | |||
- | < | ||
- | [root@centos8 ~]# systemctl enable collectd | ||
- | Created symlink / | ||
- | [root@centos8 ~]# systemctl start collectd | ||
- | [root@centos8 ~]# systemctl status collectd | ||
- | ● collectd.service - Collectd statistics daemon | ||
- | | ||
- | | ||
- | Docs: man: | ||
- | | ||
- | Main PID: 65331 (collectd) | ||
- | Tasks: 11 (limit: 23524) | ||
- | | ||
- | | ||
- | | ||
- | |||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: | ||
- | lines 1-21/21 (END) | ||
- | </ | ||
- | |||
- | < | ||
- | [root@centos8 ~]# dnf install rrdtool rrdtool-perl perl-HTML-Parser perl-JSON perl-CGI | ||
- | [root@centos8 ~]# dnf --enablerepo=powertools install rrdtool-devel | ||
- | </ | ||
- | |||
- | < | ||
- | [root@centos8 ~]# cd /usr/local/ | ||
- | [root@centos8 local]# git clone https:// | ||
- | Cloning into ' | ||
- | remote: Enumerating objects: 1430, done. | ||
- | remote: Total 1430 (delta 0), reused 0 (delta 0), pack-reused 1430 | ||
- | Receiving objects: 100% (1430/ | ||
- | Resolving deltas: 100% (664/664), done. | ||
- | [root@centos8 local]# cd collectd-web/ | ||
- | [root@centos8 collectd-web]# | ||
- | AUTHORS | ||
- | cgi-bin | ||
- | [root@centos8 collectd-web]# | ||
- | </ | ||
- | |||
- | < | ||
- | [root@centos8 collectd-web]# | ||
- | </ | ||
- | |||
- | Exécutez la commande VI suivante : < | ||
- | |||
- | < | ||
- | [root@centos8 collectd-web]# | ||
- | # | ||
- | |||
- | import CGIHTTPServer | ||
- | import BaseHTTPServer | ||
- | from optparse import OptionParser | ||
- | |||
- | class Handler(CGIHTTPServer.CGIHTTPRequestHandler): | ||
- | cgi_directories = ["/ | ||
- | |||
- | PORT = 8888 | ||
- | |||
- | def main(): | ||
- | parser = OptionParser() | ||
- | opts, args = parser.parse_args() | ||
- | if args: | ||
- | httpd = BaseHTTPServer.HTTPServer((args[0], | ||
- | print " | ||
- | else: | ||
- | httpd = BaseHTTPServer.HTTPServer((" | ||
- | print " | ||
- | httpd.serve_forever() | ||
- | |||
- | if __name__ == " | ||
- | main() | ||
- | </ | ||
- | |||
- | < | ||
- | [root@centos8 collectd-web]# | ||
- | </ | ||
- | |||
- | < | ||
- | [root@centos8 collectd-web]# | ||
- | [1] 34080 | ||
- | [root@centos8 collectd-web]# | ||
- | |||
- | [root@centos8 collectd-web]# | ||
- | </ | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
=====Modules usb===== | =====Modules usb===== | ||
Ligne 2203: | Ligne 2092: | ||
</ | </ | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** : Il vous est possible d' | **Important** : Il vous est possible d' | ||
</ | </ | ||
Ligne 2430: | Ligne 2319: | ||
Ce chiffre correspond aux nombre de secteurs. | Ce chiffre correspond aux nombre de secteurs. | ||
- | =====Limitation des ressources===== | + | =====LAB #4 - Limitation des ressources===== |
- | ====ulimit==== | + | ====4.1 - ulimit==== |
Les ressources disponibles aux utilisateurs peuvent être limitées par l' | Les ressources disponibles aux utilisateurs peuvent être limitées par l' | ||
Ligne 2507: | Ligne 2396: | ||
</ | </ | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** : La valeur de la limite peut être un **nombre** ou le mot **unlimited**. | **Important** : La valeur de la limite peut être un **nombre** ou le mot **unlimited**. | ||
</ | </ | ||
Ligne 2601: | Ligne 2490: | ||
</ | </ | ||
- | ====Groupes de Contrôle==== | + | ====4.2 - Groupes de Contrôle==== |
Les **Groupes de Contrôles** (//Control Groups//) aussi appelés **CGroups**, | Les **Groupes de Contrôles** (//Control Groups//) aussi appelés **CGroups**, | ||
Ligne 2607: | Ligne 2496: | ||
Les groupes de contrôle sont organisés de manière hiérarchique, | Les groupes de contrôle sont organisés de manière hiérarchique, | ||
- | Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs **sous-système(s)** aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs | + | Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs **sous-système(s)** aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs |
* **blkio** - utilisé pour établir des limites sur l' | * **blkio** - utilisé pour établir des limites sur l' | ||
Ligne 2812: | Ligne 2701: | ||
* **CPUQuota** - utilisé pour limiter le temps CPU, même quand le système ne fait rien. | * **CPUQuota** - utilisé pour limiter le temps CPU, même quand le système ne fait rien. | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** : Consultez le manuel systemd.resource-control(5) pour voir les paramètres CGroup qui peuvent être passés à systemctl. | **Important** : Consultez le manuel systemd.resource-control(5) pour voir les paramètres CGroup qui peuvent être passés à systemctl. | ||
</ | </ | ||
- | ====LAB #1 - Travailler avec les CGroups==== | + | ===Limitation de la Mémoire=== |
- | + | ||
- | ===1.1 - Limitation de la Mémoire=== | + | |
Commencez par créer le script **hello-world.sh** qui servira à générer un processus pour travailler avec les CGroups : | Commencez par créer le script **hello-world.sh** qui servira à générer un processus pour travailler avec les CGroups : | ||
Ligne 2855: | Ligne 2742: | ||
</ | </ | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** - Notez que les 40 000 000 demandés sont devenus 39 997 440 ce qui correspond à un nombre entier de pages mémoire du noyau de 4Ko. ( 39 997 440 / 4096 = 9 765 ). | **Important** - Notez que les 40 000 000 demandés sont devenus 39 997 440 ce qui correspond à un nombre entier de pages mémoire du noyau de 4Ko. ( 39 997 440 / 4096 = 9 765 ). | ||
</ | </ | ||
Ligne 2940: | Ligne 2827: | ||
</ | </ | ||
- | ===1.2 - La Commande cgcreate=== | + | ===La Commande cgcreate=== |
Cette commande permet la création d'un CGroup : | Cette commande permet la création d'un CGroup : | ||
Ligne 3001: | Ligne 2888: | ||
</ | </ | ||
- | ===1.3 - La Commande cgdelete=== | + | ==La Commande cgdelete== |
Une fois le script terminé, cette commande permet de supprimer le cgroup : | Une fois le script terminé, cette commande permet de supprimer le cgroup : | ||
Ligne 3022: | Ligne 2909: | ||
</ | </ | ||
- | ===1.4 - Le Fichier / | + | ==Le Fichier / |
Afin de les rendre persistants, | Afin de les rendre persistants, | ||
Ligne 3056: | Ligne 2943: | ||
</ | </ | ||
- | <WRAP center round important> | + | <WRAP center round important |
**Important** - Notez la création de **deux** limitations, | **Important** - Notez la création de **deux** limitations, | ||
</ | </ | ||
Ligne 3123: | Ligne 3010: | ||
</ | </ | ||
- | ===1.5 - La Commande cgconfigparser=== | + | ==La Commande cgconfigparser== |
Appliquez le contenu du fichier **/ | Appliquez le contenu du fichier **/ | ||
Ligne 3136: | Ligne 3023: | ||
----- | ----- | ||
- | < | + | Copyright © 2022 Hugh Norris. |
- | <div align=" | + | |
- | Copyright © 2021 Hugh Norris. | + | |
- | </ | + |