GNU/Linux
Ottenere informazioni di sistema
Ricerca…
introduzione
Raccolta di comandi per recuperare informazioni relative al sistema.
Elenco dell'hardware
Ubuntu:
lshw è un piccolo strumento per estrarre informazioni dettagliate sulla configurazione hardware della macchina. Può segnalare la configurazione esatta della memoria, la versione del firmware, la configurazione della scheda madre, la versione e la velocità della CPU, la configurazione della cache, la velocità del bus, ecc.
$ sudo lshw | less (or more)
$ sudo lshw -html > myhardware.html
$ sudo lshw -xml > myhardware.xml
Per mostrare informazioni PCI
$ lspci -tv
Per vedere le informazioni USB
$ lsusb -tv
Per visualizzare le informazioni del BIOS
$ dmidecode -q | less
Per visualizzare informazioni specifiche sul disco (disk sda nell'esempio) è possibile utilizzare:
$ hdparm -i /dev/sda
Poche utilità / comandi aggiuntivi aiuteranno a raccogliere alcune informazioni aggiuntive:
$ 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
Trova informazioni sul modello / velocità della CPU
Ubuntu:
$ cat /proc/cpuinfo
Uscita di esempio:
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:
processore di conteggio (inclusi i core):
$ grep -c processor /proc/cpuinfo
Monitoraggio dei processi e raccolta di informazioni
Nel complesso si hanno due modi per monitorare i processi sull'host linux
Monitoraggio statico
Il comando più usato è il comando ps
(cioè, lo stato del processo) viene utilizzato per fornire informazioni sui processi attualmente in esecuzione, inclusi i loro numeri di identificazione del processo (PID).
Ecco alcune opzioni utili per raccogliere informazioni specifiche.
Elenca i processi in una gerarchia
$ ps -e -o pid,args --forest
Elenca i processi ordinati in base all'utilizzo di% cpu
$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
Elenca i processi ordinati per utilizzo di mem (KB).
$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
Elenca tutti i thread per un particolare processo (processo "firefox-bin" nell'esempio)
$ ps -C firefox-bin -L -o pid,tid,pcpu,state
Dopo aver trovato un processo specifico è possibile raccogliere le informazioni ad esso relative utilizzando lsof
per elencare i percorsi che l'id di processo è aperto
$ lsof -p $$
O in base al percorso scopri i processi elenco che hanno percorso specificato aperto
$ lsof ~
Monitoraggio interattivo
Lo strumento più comunemente conosciuto per il monitoraggio dinamico è:
$ top
Questo comando, per lo più predefinito, ha enormi quantità di opzioni per filtrare e rappresentare le informazioni in tempo reale (rispetto al comando ps
.
Ancora ci sono più opzioni avanzate che possono essere considerate e installate come top
sostituzioni
$ htop -d 5
o
$ atop
Che ha la possibilità di registrare tutte le attività in un file di registro (di default in cima registrerà tutte le attività ogni 600 secondi). A questa lista ci sono alcuni comandi specializzati come iotop
o iftop
$ sudo iotop
Statistiche su CPU, memoria, rete e disco (operazioni I / O)
Per ottenere statistiche generali sui componenti principali dei comandi della famiglia di stat
di Linux sono estremamente utili
processore
Per ottenere statistiche relative ai processori è possibile utilizzare il comando mpstat
ma con alcune opzioni fornirà una migliore visibilità:
$ mpstat 2 10
Memoria
Tutti sappiamo che il comando è free
di mostrare la quantità di RAM (rimanente) ma di vedere tutte le statistiche incluse le operazioni di I / O:
$ vmstat 2 10
Disco
Per ottenere informazioni generali sulle operazioni del tuo disco in tempo reale, puoi utilizzare iostat
.
$ iostat -kx 2
Rete
Per essere in grado di vedere cosa sta succedendo con i tuoi servizi di rete puoi usare netstat
$ netstat -ntlp # open TCP sockets
$ netstat -nulp # open UDP sockets
$ netstat -nxlp # open Unix sockets
Ma puoi trovare un monitoraggio utile per vedere il traffico di rete in tempo reale:
$ sudo iftop
Opzionale
Per generare statistiche in tempo reale relative alle operazioni di I / O su tutti i componenti, è possibile utilizzare dstat
. Questo strumento è un sostituto versatile per vmstat
, iostat
e ifstat
Usando strumenti come lscpu e lshw
Usando strumenti come lscpu come lscpu è un modo semplice per ottenere informazioni sulla CPU.
$ 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
Usando lo strumento 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