[Digression]Diagnostiquer son matériel

Partagez ici vos Trucs et vos Astuces.
Répondre
Avatar du membre
sv0t
Membre actif
Membre actif
Messages : 528
Enregistré le : 30 avr. 2016, 12:06
Localisation : Charente-Maritime
Status : Hors ligne

14 juin 2020, 21:49

Salut,

Je met en ligne le brouillon de ce sujet (il y a des coquilles et sûrement des fautes) afin de recueillir vos commentaires et conseils.



Lister son materiel

dmidecode est un outil pour vider le contenu d'une table DMI d'un ordinateur (certains disent SMBIOS) dans un format lisible par l'homme. sous la forme d'un tableau contennant une description des composants matériels du système, ainsi que d'autres informations utiles telles que les numéros de série et la révision du BIOS.
Grâce à ce tableau, vous pouvez récupérer ces informations sans avoir à rechercher le matériel réel. Bien que ce soit un bon point en termes de vitesse et de sécurité des rapports, cela rend également les informations présentées peu fiables.
Le tableau DMI ne décrit pas seulement de quoi le système est actuellement composé, il peut également signaler les évolutions possibles (telles que les processeurs plus rapide pris en charge ou la quantité maximale de mémoire prise en charge).
SMBIOS signifie System Management BIOS, tandis que DMI signifie Desktop Management Interface. Les deux normes sont étroitement liées et développées par le DMTF (Desktop Management Task Force). https://www.dmtf.org/
Lorsque vous l'exécutez, dmidecode essaiera de localiser la table DMI. Il essaiera d'abord de lire la table DMI à partir de sysfs, puis essaiera de lire directement à partir de la mémoire si l'accès sysfs a échoué. Si dmidecode réussit à localiser une table DMI valide, il analysera alors cette table et affichera une liste d'enregistrements comme celle-ci:

Handle 0x0002, DMI type 2, 8 bytes. Base Board Information
Manufacturer: Intel
Product Name: XXXXXXX
Version: XXXXXX-XXX
Serial Number: XXXXXXXXXXXX

lshw qui permet d'extraire des informations détaillées sur la configuration matérielle de la machine. lshw peut signaler la configuration exacte de la mémoire, la version du micrologiciel, la configuration de la carte mère, la version et la vitesse du processeur, la configuration du cache, la vitesse du bus, etc. sur x86 ou IA-64 compatible DMI systèmes et sur certaines machines PowerPC

lshw prend actuellement en charge DMI (x86 et IA-64 uniquement), l'arborescence des périphériques OpenFirmware (PowerPC uniquement), PCI / AGP, CPUID (x86), IDE / ATA / ATAPI, PCMCIA (uniquement testé sur x86), SCSI et USB.

lspci est un utilitaire permettant d'afficher des informations sur les bus PCI dans le système et les périphériques qui y sont connectés.
Par défaut, il affiche une brève liste de périphériques. Utilisez les options décrites ci-dessous pour demander une sortie plus détaillée ou une sortie prévue pour l'analyse par d'autres programmes. Si vous allez signaler des bogues dans les pilotes de périphériques PCI ou dans lspci lui-même, veuillez inclure la sortie de "lspci -vvx" ou encore mieux "lspci -vvxxx "(voir cependant ci-dessous les éventuelles mises en garde).
Certaines parties de la sortie, en particulier dans les modes très verbeux, ne sont probablement intelligibles que pour les pirates PCI expérimentés. Pour une définition exacte initions des champs, veuillez consulter les spécifications PCI ou les fichiers include de header.h et /usr/include/linux/pci.h.
L'accès à certaines parties de l'espace de configuration PCI est limité à root sur de nombreux systèmes d'exploitation, donc les fonctionnalités de lspci disponibles pour les utilisateurs normaux sont limités. Cependant, lspci fait de son mieux pour afficher autant que disponible et marquer toutes les autres informations avec <accès refusé>

lsusb est un utilitaire permettant d'afficher des informations sur les bus USB du système et les périphériques qui y sont connectés.

hardinfo est un profileur de système et une référence pour les systèmes Linux, qui rassemble des informations sur le matériel et le système d'exploitation, effectue un benchmark et génère des rapports. Les informations recueillies sont présentées sur une interface graphique simple et intuitive.
Les informations sont regroupées en quatre groupes principaux: ordinateur, périphériques, réseau et repères.
Le groupe Ordinateur contient principalement des informations sur les logiciels de base. Cela comprend, mais sans s'y limiter, les informations sur le fonctionnement système (version du noyau, bibliothèque C, distribution, etc.), modules du noyau, informations locales, utilisation du système de fichiers, utilisateurs / groupes et outils de developement.

Le groupe Périphériques contient des informations sur le matériel, telles que détectées par le système d'exploitation. Hardinfo est incapable de détecter par lui-même, il répertorie simplement ce que le système d'exploitation a pu trouver. Cela comprend, mais sans s'y limiter, des informations sur le processeur (y compris la disposition du cache, les bogues connus et les indicateurs de fonctionnalité avec leur explication), les périphériques (tels que les périphériques USB, PCI et d'entrée).

Le groupe Réseau répertorie les informations sur les interfaces réseau, la table de routage, les serveurs DNS et d'autres sujets liés au réseau.

Le groupe Benchmarks permet d'effectuer des benchmarks simples pour tester les capacités du CPU et du FPU, ainsi que certaines des interfaces utilisateur graphiques capacités aussi. Dans les versions précédentes, il était possible d'envoyer les résultats du benchmark à un serveur central, il était donc possible de comparer les repères avec les autres utilisateurs Hardinfo; ce service est désactivé.

Les rapports peuvent être générés soit en appelant Hardinfo avec des paramètres de ligne de commande spéciaux (voir ci-dessous), soit en cliquant sur "Générer le rapport" dans l'interface graphique. Les rapports peuvent être personnalisés dans l'interface graphique et enregistrés au format HTML ou texte brut.



information temps réel
top fournit la vue dynamique en temps réel d'un système en cours d'exécution. Il peut afficher des informations résumées sur le système ainsi qu'une liste des processus ou threads actuellement gérés par le noyau Linux. Les types d'informations récapitulatives du système affichés et les types, l'ordre et la taille des informations affichées pour les processus sont toutes configurables par l'utilisateur et cette configuration peut être rendue persistante lors des redémarrages.

Le programme fournit une interface interactive limitée pour la manipulation de processus mais aussi une interface beaucoup plus étendue pour la configuration englobant tous les aspects de son fonctionnement. Vous êtes libre derenommer les programme comme vous le souhaitez. Ce nouveau nom, éventuellement un alias, sera ensuite reflété sur l'affichage et utilisé lors de la lecture et de l'écriture du fichier de configuration.

nmon est un administrateur système, un tuner, un outil de référence. Il peut afficher le CPU, la mémoire, le réseau, les disques (mini graphiques ou nombres), le fichier systèmes, NFS, principaux processus, ressources (version Linux et processeurs) et sur les informations de micro-partition Power.



mémoire


free free affiche la quantité totale de mémoire physique et d'échange libre et utilisée dans le système, ainsi que les tampons et les caches utilisés par le kernel. Les informations sont collectées en analysant / proc / meminfo. Les colonnes affichées sont:
* Mémoire installée totale (MemTotal et SwapTotal dans / proc / meminfo)
* Mémoire utilisée (calculée comme le total - libre - tampons - cache)
* Mémoire inutilisée disponnible (MemFree et SwapFree dans / proc / meminfo)
* Mémoire partagée utilisée (principalement) par tmpfs (Shmem dans / proc / meminfo)
* Mémoire utilisée par les tampons du noyau (tampons dans / proc / meminfo)
* Mémoire utilisée par le cache de pages et les dalles (mis en cache et récupérable dans / proc / meminfo)
* buff / cache Somme des tampons et du cache disponible

Estimation de la quantité de mémoire disponible pour démarrer de nouvelles applications, sans échange. Contrairement aux données fournies par le cache ou champs libres, ce champ prend en compte le cache de pages et également que toutes les dalles de mémoire récupérables ne seront pas récupérées en raison d'éléments en cours d'utilisation (MemAvailable dans / proc / meminfo, disponible sur les noyaux 3.14, émulé depuis les noyaux 2.6.27+

Edit du titre ajout [Digression] du 16.06

Edit du 01.07

lscpu rassemble des informations sur l'architecture du processeur à partir de sysfs, / proc / cpuinfo et de toutes les bibliothèques spécifiques à l'architecture applicables. La sortie de la commande peut être optimisée pour l'analyse ou pour une lisibilité aisée par les humains. Les informations comprennent, par exemple, le nombre de CPU, threads, cœurs, sockets et nœuds NUMA (Non-Uniform Memory Access). Il y a aussi des informations sur les caches CPU et partage de cache, famille, modèle, bogoMIPS, ordre des octets et progression.
Dans les environnements virtualisés, les informations d'architecture CPU affichées reflètent la configuration du système d'exploitation invité qui est généralement différent du système physique (hôte). Sur les architectures qui prennent en charge la récupération des informations de topologie physique, lscpu affiche également le nombre de sockets physiques, puces, cœurs dans le système hôte.
Les options qui aboutissent à une table de sortie ont un argument de liste. Utilisez cet argument pour personnaliser la sortie de la commande. Spécifiez par une virgule séparée la liste des étiquettes de colonne afin de limiter la table de sortie aux seules colonnes spécifiées, disposées dans l'ordre spécifié. Voir COLONNES pour une liste d'étiquettes de colonne valides. Les étiquettes de colonne ne sont pas sensibles à la casse.
Toutes les colonnes ne sont pas prises en charge sur toutes les architectures. Si une colonne non prise en charge est spécifiée, lscpu imprime la colonne mais ne fournit pas toutes les données.

hwinfo est utilisé pour rechercher le matériel présent dans le système. Il peut être utilisé pour générer un journal de présentation du système qui pourra être utilisé ultérieurement.

lsscsi Utilise les informations dans sysfs (noyau Linux série 2.6 et ultérieures) pour répertorier les périphériques SCSI (ou hôtes) actuellement connectés au système. Beaucoup de périphérique de stockage non SCSI (mais pas tous) utilisaient le sous-système SCSI sous Linux. Dans la version lsscsi 0.30, un support a été ajouté pour répertorier les périphériques NVMe.
En mode ligne par périphérique (espace de noms LU ou NVMe), par défaut, chaque ligne commence par un tuple à 4 éléments entouré de crochets.
Pour les périphériques SCSI, le premier élément «H» est le numéro d'hôte, le deuxième élément «C» est le numéro du contrôleur, le troisième élément «T» est le numéro cible et l'élément final est le numéro d'unité logique (LUN). Tous les quatre sont des entiers. Pour les espaces de noms NVMe, voir deux paragraphes plus bas. Lorsque l'option --hosts est donnée pour les périphériques SCSI, le tuple est réduit à un élément: le numéro d'hôte.

lsblk répertorie les informations sur tous les périphériques de bloc disponibles ou spécifiés. La commande lsblk lit le système de fichiers sysfs et udev db pour collecter des informations. Si la base de données udev n'est pas disponible ou si lsblk est compilé sans prise en charge udev, il essaie de lire les ÉTIQUETTES, les UUID e t tous types de système de fichiers du périphérique de bloc. Dans ce cas, les autorisations root sont nécessaires.
La commande imprime tous les périphériques de bloc (sauf les disques RAM) dans un format arborescent par défaut. Utilisez lsblk --help pour obtenir une liste de toutes les options.
La sortie par défaut, ainsi que la sortie par défaut des options telles que --fs et --topology, est susceptible de changer. Donc, chaque fois que possible, vous devrait éviter d'utiliser les sorties par défaut dans vos scripts. Définissez toujours explicitement les colonnes attendues en utilisant --output columns-list dans les environnements où une sortie stable est requise.
Notez que lsblk peut être exécuté à temps quand udev ne dispose pas encore de toutes les informations sur les périphériques récemment ajoutés ou modifiés. Dans ce cas il est recommandé d'utiliser udevadm sett avant lsblk pour se synchroniser avec udev.
Avatar du membre
lol
Site Admin
Site Admin
Messages : 3302
Enregistré le : 04 avr. 2016, 12:11
Localisation : Madagascar
Contact :
Status : Hors ligne

15 juin 2020, 10:51

Salut,
La liste et le sujet sont intéressants. Merci!
C'est prévu pour T&A et/ou le Wiki ?
Quelques idées en vrac...

Mise en page bien sur ?
Préciser si la commande se lance en utilisateur ou root ?
Séparer les outils GUI et ligne de commande ?
Debian stable. XFCE.
C'est curieux chez les marins ce besoin de faire des phrases (Les tontons flingueurs).
Avatar du membre
lol
Site Admin
Site Admin
Messages : 3302
Enregistré le : 04 avr. 2016, 12:11
Localisation : Madagascar
Contact :
Status : Hors ligne

15 juin 2020, 15:14

Mes deux balles, à nouveau...

Il y a des outils déjà installés sur le système,n d'autres pas.
Quelques outils non listés:
- lscpu
- hwinfo
- lsscsi
- lsblk
- df (ou pydf pour ceux qui aiment les diagrammes et les couleurs...)
- fdisk
- mount
- hdparm

:006:
Debian stable. XFCE.
C'est curieux chez les marins ce besoin de faire des phrases (Les tontons flingueurs).
Avatar du membre
sv0t
Membre actif
Membre actif
Messages : 528
Enregistré le : 30 avr. 2016, 12:06
Localisation : Charente-Maritime
Status : Hors ligne

15 juin 2020, 19:24

Je pensais faire un T&A avec une description sommaire. Et détailler sur le wiki page par page.
Bien entendu je vais soigner la mise en page.
:006:
Avatar du membre
sv0t
Membre actif
Membre actif
Messages : 528
Enregistré le : 30 avr. 2016, 12:06
Localisation : Charente-Maritime
Status : Hors ligne

15 juin 2020, 21:57

Re,
Merci de donner du grain à mon moulin. Je ne connaissait pas lspcu, hwinfo, lsscsi, lsblk.

J'ai commencé par prendre des notes au brouillon que j'ai posté pour ouvrir le sujet et avancer. Il n'est pas question de le laisser en vrac ;-) mais je n'ai pas encore réfléchi à la mise en page, ni contenu par outils. Ou mettre une limite entre l'essentiel et le détail "superflu" ?

Je suis preneur de toutes suggestions. Merci
Avatar du membre
piratebab
Site Admin
Site Admin
Messages : 3366
Enregistré le : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors ligne

15 juin 2020, 22:55

et il y a aussi le contenu de /proc
et pour le monitoring
vmstat
w (pour savoir qui est connecté)
mon préféré est glances
--gilles--
Membre
Membre
Messages : 490
Enregistré le : 24 août 2016, 19:35
Localisation : Gnome 3.36 - debian 11 bullseye
Status : Hors ligne

16 juin 2020, 10:14

Il y a aussi l'outil inxi qui me semble très complet. En fait tous ces outils mentionnés dans les posts précédents font un ensemble complexe, je pense qu'avant de les regrouper dans un article de wiki gigantesque « Diagnostiquer son matériel », il vaudrait mieux rédiger un article pour chaque. Et pour faciliter les comparaisons entre les outils il faudrait adopter un ordre de présentation identique pour tous. Quitte à indiquer parfois que tel outil ne traite pas de tel domaine.


Juste une idée d'exemple :
0 Modèle, carte mère, BIOS, UEFI
1 CPU
2 RAM
3 Carte(s) graphique(s)
4 Disque(s) magnétique(s) ou SSD
5 Disque optique
6 Carte audio-son
7 Carte réseau
8

Bref, vous voyez l'idée et peut-être que vous trouverez une catégorisation plus détaillée, plus exhaustive.
Parler de liberté n'a de sens qu'à condition que ce soit la liberté de dire aux gens ce qu'ils n'ont pas envie d'entendre. Eric Blair, George Orwell
Avatar du membre
sv0t
Membre actif
Membre actif
Messages : 528
Enregistré le : 30 avr. 2016, 12:06
Localisation : Charente-Maritime
Status : Hors ligne

16 juin 2020, 11:50

Merci pour les contributions.

Je trouve l'idée de --gilles-- intéressante.

Peut-être déplacer le fil dans PC ?

J'ai éditer le titre.
Avatar du membre
piratebab
Site Admin
Site Admin
Messages : 3366
Enregistré le : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors ligne

16 juin 2020, 22:05

Il y a 3 d'outils
- celle permettant de lister le matériel reconnu (lsusb, lspci, lshw ..)
- celle permettant de connaître l'état du matériel (taux cpu, mémoire ...)
- celles permetant de connaitre l'état du systeme (qui est connecté, combien doctets ont transités ..)
Il y a probablement des outils que peuvent etre dans 2 catégories (ip liste les interfaces et donne leur état)
Avatar du membre
sv0t
Membre actif
Membre actif
Messages : 528
Enregistré le : 30 avr. 2016, 12:06
Localisation : Charente-Maritime
Status : Hors ligne

17 juin 2020, 07:57

Je vais faire une mise à jour de la page en synthétisant vos suggestions au plus vite.
Avatar du membre
piratebab
Site Admin
Site Admin
Messages : 3366
Enregistré le : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors ligne

17 juin 2020, 10:44

Un que je n'ai pas vu cité: HardInfo (different de hwinfo). GUI propre et complete
Avatar du membre
sv0t
Membre actif
Membre actif
Messages : 528
Enregistré le : 30 avr. 2016, 12:06
Localisation : Charente-Maritime
Status : Hors ligne

24 juin 2020, 20:23

J'ai eu beaucoup à faire ces derniers temps, je vais pouvoir donner un peu plus à ce sujet qui me tient à cœur ;)

A+
Avatar du membre
sv0t
Membre actif
Membre actif
Messages : 528
Enregistré le : 30 avr. 2016, 12:06
Localisation : Charente-Maritime
Status : Hors ligne

01 juil. 2020, 21:41

Salut,

je continus et continuerais de compléter ce sujet j'ai éditer le "brouillon" pour rajouter quelques outils. (pas encore fini)

Mes disponibilités ne sont pas exhaustives, mais je n’oublie pas.

:006:
Répondre