GNU/Linux
Obtenir des informations sur le système
Recherche…
Introduction
Collection de commandes pour récupérer des informations relatives au système.
List Hardware
Ubuntu:
lshw est un petit outil pour extraire des informations détaillées sur la configuration matérielle de la machine. Il 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.
$ sudo lshw | less (or more)
$ sudo lshw -html > myhardware.html
$ sudo lshw -xml > myhardware.xml
Pour afficher les informations PCI
$ lspci -tv
Pour voir les informations sur l'USB
$ lsusb -tv
Pour afficher les informations du BIOS
$ dmidecode -q | less
Pour voir des informations spécifiques sur le disque (disque sda dans l'exemple), vous pouvez utiliser:
$ hdparm -i /dev/sda
Peu d'utilitaires / commandes supplémentaires vous aideront à rassembler des informations supplémentaires:
$ smartctl -A /dev/sda | grep Power_On_Hours # How long has this disk (system) been powered on in total
$ hdparm -tT /dev/sda # Do a read speed test on disk sda
$ badblocks -s /dev/sda # Test for unreadable blocks on disk sda
Trouver des informations sur le modèle et la vitesse de la CPU
Ubuntu:
$ cat /proc/cpuinfo
Échantillon sortie:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
cpu MHz : 1596.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips : 4800.18
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
....
..
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
stepping : 11
cpu MHz : 1596.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow vnmi flexpriority
bogomips : 4800.30
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
compter le processeur (y compris les cœurs):
$ grep -c processor /proc/cpuinfo
Suivi des processus et collecte d'informations
Dans l'ensemble, vous avez deux façons de surveiller les processus sur l'hôte Linux
Surveillance statique
La commande la plus utilisée est la commande ps
(c'est-à-dire le statut du processus) qui est utilisée pour fournir des informations sur les processus en cours d'exécution, y compris leurs numéros d'identification de processus (PID).
Voici quelques options utiles pour recueillir des informations spécifiques.
Liste des processus dans une hiérarchie
$ ps -e -o pid,args --forest
Liste des processus triés selon l'utilisation de% cpu
$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
Liste des processus triés par utilisation de mem (Ko).
$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
Liste tous les threads pour un processus particulier (processus "firefox-bin" dans l'exemple)
$ ps -C firefox-bin -L -o pid,tid,pcpu,state
Après avoir trouvé un processus spécifique, vous pouvez collecter des informations en utilisant lsof
pour répertorier les chemins ouverts par l'ID de processus
$ lsof -p $$
Ou en fonction du chemin, recherchez les processus de liste qui ont spécifié le chemin ouvert
$ lsof ~
Surveillance interactive
L'outil le plus connu pour la surveillance dynamique est:
$ top
Cette commande principalement par défaut qui dispose de nombreuses options de filtrage pour filtrer et représenter les informations en temps réel (par rapport à la commande ps
.
Pourtant , il y a plus d' options avancées qui peuvent être considérés et installés en top
de remplacement
$ htop -d 5
ou
$ atop
Qui a la capacité de consigner toutes les activités dans le fichier journal (atop par défaut consignera toutes les activités toutes les 600 secondes). Dans cette liste, il existe peu de commandes spécialisées comme iotop
ou iftop
$ sudo iotop
Statistiques sur le processeur, la mémoire, le réseau et le disque (opérations d'E / S)
Pour obtenir des statistiques générales sur les principaux composants de la famille Linux, les commandes stat
sont extrêmement utiles
CPU
Pour obtenir des statistiques sur les processeurs, vous pouvez utiliser la commande mpstat
mais avec certaines options, elle offrira une meilleure visibilité:
$ mpstat 2 10
Mémoire
Nous savons tous que la commande est free
pour afficher la quantité de RAM restante mais pour voir toutes les statistiques, y compris les opérations d'E / S:
$ vmstat 2 10
Disque
Pour obtenir des informations générales sur vos opérations de disque en temps réel, vous pouvez utiliser iostat
.
$ iostat -kx 2
Réseau
Pour être en mesure de voir ce qui se passe avec vos services réseau, vous pouvez utiliser netstat
$ netstat -ntlp # open TCP sockets
$ netstat -nulp # open UDP sockets
$ netstat -nxlp # open Unix sockets
Mais vous pouvez trouver une surveillance utile pour voir le trafic réseau en temps réel:
$ sudo iftop
Optionnel
Pour générer des statistiques en temps réel liées aux opérations d'E / S sur tous les composants, vous pouvez utiliser dstat
. Cet outil est un remplacement polyvalent pour vmstat
, iostat
et ifstat
Utiliser des outils comme lscpu et lshw
En utilisant des outils comme lscpu, lscpu est un moyen facile d'obtenir des informations sur le processeur.
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 10
CPU MHz: 1998.000
BogoMIPS: 5303.14
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
NUMA node0 CPU(s): 0-3
En utilisant l'outil lshw
$ lshw | grep cpu
df1-ws-5084
description: Computer
width: 64 bits
capabilities: vsyscall32
*-core
description: Motherboard
physical id: 0
*-memory
description: System memory
physical id: 0
size: 5881MiB
*-cpu
product: Intel(R) Pentium(R) CPU G3220 @ 3.00GHz
vendor: Intel Corp.
physical id: 1
bus info: cpu@0
size: 3GHz
capacity: 3GHz
width: 64 bits