GNU/Linux >> Linux Esercitazione >  >> Linux

30 esempi di comandi principali per il monitoraggio in Linux

Il comando top in Linux mostra i processi in esecuzione sul sistema. Uno degli strumenti più importanti per un amministratore di sistema. Viene ampiamente utilizzato per monitorare il carico su un server. In questo articolo, esploriamo in dettaglio il comando top. Il comando in alto è un comando interattivo. Molti comandi sono disponibili quando top è in esecuzione. Esploreremo anche questi comandi.

1. Comando superiore predefinito

Prima di tutto, cerchiamo di capire cosa dice l'output. Il comando Top mostra molte informazioni sul sistema in esecuzione. Ma dobbiamo capire il significato delle diverse sezioni di questo output. Per vedere il processo in esecuzione, sul terminale esegui il comando seguente

# top

In esecuzione per impostazione predefinita, il comando in alto visualizza l'output in questo modo:

Ci sono alcune informazioni in diverse colonne e linee orizzontali che mostrano un riepilogo sui diversi parametri di sistema, e in seguito ci sono i processi e i loro attributi nelle colonne.

a) Campi/Colonne

Per impostazione predefinita, in alto vengono visualizzati alcuni attributi associati ai processi e il tipo di informazioni è rappresentato nella colonna. Quindi, per capire come funziona il comando principale, dobbiamo conoscere il ruolo di ciascuna colonna per sapere dove si trovano le informazioni di cui dovremmo aver bisogno

PID: L'ID processo rappresentato da un valore univoco che identifica in modo univoco un processo.

UTENTE: Il nome utente effettivo del titolare dei processi. Aiuta a identificare esattamente i processi avviati da un particolare utente

PR: è la priorità effettiva del processo, vista dal kernel Linux, la priorità di pianificazione del processo. Per i normali processi, la priorità del kernel è semplicemente +20 dal bel valore. Quindi un processo con il valore neutrale piacevole di zero ha una priorità del kernel di 20. Per i processi in esecuzione in tempo reale, il valore del campo è RT

NI: È il bel valore del processo corrispondente a un concetto di spazio utente. L'intervallo di valori interessante è da -20 a +19 dove -20 è il più alto, 0 predefinito e +19 è il più basso. Valori più bassi significano priorità più alta. La relazione tra bel valore e priorità è PR = 20 + NI

VIRT: È la quantità di memoria virtuale utilizzata dal processo. Rappresenta quanta memoria il programma è in grado di accedere in questo momento; sta per la dimensione virtuale di un processo, che è la somma della memoria che sta effettivamente utilizzando,

RES: È la dimensione della memoria residente. La memoria residente è la quantità di memoria fisica non scambiata utilizzata da un'attività. Rappresenta la dimensione residente, che è una rappresentazione accurata di quanta memoria fisica effettiva sta consumando un processo. (Questo corrisponde anche direttamente alla colonna %MEM.) Questo sarà praticamente sempre inferiore alla dimensione VIRT, poiché la maggior parte dei programmi dipende dalla libreria C.

SHR: SHR è la memoria condivisa utilizzata dal processo e indica quanta parte della dimensione VIRT è effettivamente condivisibile (memoria o librerie). Nel caso delle biblioteche, non significa necessariamente che l'intera biblioteca sia residente.

S: Questo è lo stato del processo. I processi sono definiti da uno stato di funzionamento. Può avere uno dei seguenti valori:

  • D - sonno ininterrotto :uno stato di sonno in cui il processo è in attesa che accada qualcosa. Non può essere interrotto da un segnale; di solito viene visualizzato quando il processo è in attesa del disco.
  • R - in esecuzione :il processo è pronto per essere eseguito e verrà eseguito ogni volta che arriva il suo turno di utilizzare la CPU
  • S - dormire :uno stato di sonno in cui il processo è in attesa che accada qualcosa. Può essere interrotto da un segnale
  • T - tracciato o interrotto :è uno stato in cui il processo viene interrotto, solitamente tramite SIGSTOP o SIGTSTP . Può anche essere fermato da un debugger (ptrace ). Quando vedi quello stato, di solito è perché hai usato Ctrl-Z per mettere un comando in background.
  • Z - zombi :è uno stato in cui il processo è morto (ha terminato la sua esecuzione) e l'unica cosa rimasta è la struttura che lo descrive sul kernel. Sta aspettando che il suo processo padre recuperi il suo codice di uscita e non molto altro. Al termine del processo padre, scomparirà.

%CPU: È la percentuale di tempo CPU utilizzata dall'attività dall'ultimo aggiornamento. La percentuale della CPU utilizzata dal processo. Per impostazione predefinita, top lo visualizza come percentuale di una singola CPU. Sui sistemi multi-core, puoi avere percentuali superiori al 100%.

%MEM: Rappresenta la percentuale di memoria fisica disponibile utilizzata dal processo. Può essere considerato come la quota di memoria totale disponibile utilizzata da quel processo.

TEMPO+: Il tempo CPU totale utilizzato dall'attività dall'inizio, con precisione fino al centesimo di secondo.

COMANDO: Il comando utilizzato per avviare il processo.

Esistono molti altri output che non vengono visualizzati per impostazione predefinita che possono visualizzare informazioni su errori di pagina, gruppo effettivo e ID gruppo del processo e molti altri.

b) Tempo di attività e medie di carico

Quando sei in "modalità top", nella prima riga del risultato del comando top, viene visualizzato un output simile al comando uptime.

I campi mostrano le informazioni seguenti:
* l'ora corrente del sistema
* l'ora di funzionamento del sistema
* numero di utenti registrati nel sistema
* media di carico di 5, 10 e 15 minuti rispettivamente.
Questa visualizzazione del tempo di attività può essere commutata con l chiave e può nascondere le informazioni sulla media del carico.

c) Compiti

La seconda riga mostra il riepilogo delle attività o dei processi. I processi possono trovarsi in stati diversi, come abbiamo visto sopra per la colonna "S". Mostra i diversi processi e i suoi stati

d) Stati CPU

La terza riga mostra le diverse statistiche della CPU.

Il significato dei diversi tempi della CPU sono:

  • noi, utente :ci mostra che il processore sta spendendo l'1,8% del suo tempo eseguendo processi nello spazio utente. Un programma in spazio utente è qualsiasi processo che non appartiene al kernel.
  • si, sistema :è la quantità di tempo che la CPU ha impiegato per eseguire il kernel.
  • ni, simpatico: mostra quanto tempo la CPU ha impiegato per eseguire i processi dello spazio utente che sono stati corretti. Su un sistema in cui nessun processo è stato corretto, il numero sarà 0.
  • id, inattivo :ci dice che il processore è rimasto inattivo poco più del 97% delle volte durante l'ultimo periodo di campionamento.
  • wa , io attendo :è inattivo in attesa del completamento di un'operazione di I/O
  • ciao :quanto tempo il processore ha impiegato per la manutenzione degli interrupt hardware
  • si :quanto tempo il processore ha dedicato alla manutenzione degli interrupt software
  • st :Quest'ultimo numero si applica solo alle macchine virtuali. Quando Linux è in esecuzione come macchina virtuale su un hypervisor, st (abbreviazione di furto) la statistica mostra quanto tempo la CPU virtuale ha trascorso in attesa che l'hypervisor serva un'altra CPU virtuale in esecuzione su una macchina virtuale diversa

Questo può essere attivato con t chiave che determina come vengono visualizzate le attività e può nascondere le informazioni sulle attività e sulla CPU.

e) Utilizzo della memoria

Questa porzione è composta da due righe che possono esprimere valori in kibibyte (KiB), mebibyte (MiB) o gibibyte (GiB) a seconda della quantità di memoria fisica attualmente installata.

  • La riga 1 riflette la memoria fisica , classificati come:totali, utilizzati, gratuiti, buffer
  • La riga 2 riflette la memoria virtuale , classificato come:totale, usato, gratuito, memorizzato nella cache

  • Memoria fisica è la tua RAM, hardware fisico che fornisce memoria ad accesso casuale
  • Scambia è una memoria virtuale che può essere un file o una partizione sul disco rigido che viene essenzialmente utilizzata come RAM aggiuntiva. Tuttavia, non è un chip RAM separato, risiede sul tuo disco rigido.

La memoria può essere commutata con m chiave che determina come viene visualizzato l'utilizzo della memoria e può nascondere le informazioni sulla memoria.

2. Visualizza il menu Guida interattiva

Ha una potente modalità interattiva che è attiva per impostazione predefinita all'avvio di Top. È possibile utilizzare una varietà di comandi sotto forma di semplici pressioni dei tasti delle lettere per manipolare ciò che viene visto. Qui esploriamo ulteriormente questi comandi.

Prima di tutto, puoi premere h o ? per visualizzare il menu della guida per i comandi interattivi o un elenco ridotto di comandi. Possiamo vedere i ruoli delle diverse chiavi che possiamo usare nell'esecuzione del comando superiore.

3. Aggiorna manualmente il display

Il comando top per impostazione predefinita aggiorna le informazioni visualizzate dopo un certo intervallo (3 secondi). Per aggiornare manualmente queste informazioni, l'utente può premere ENTER o SPACE .

4) Attiva/disattiva la modalità di visualizzazione alternativa

Per impostazione predefinita, abbiamo la modalità di visualizzazione a schermo intero in cui il riepilogo e i dati dell'attività vengono visualizzati in un'unica finestra. Pertanto, in qualsiasi momento, può essere visualizzato un solo gruppo di campi. C'è anche la modalità di visualizzazione alternativa, in cui possono esserci un massimo di quattro finestre, ciascuna con un gruppo di campi. Queste finestre sono denominate Def, Job, Mem e Usr

  • Def: ordinato per %CPU
  • Lavoro :ordinato per PID
  • Mem :ordinato per %MEM
  • Usr : ordinato per campo Utente

È possibile accedere alla modalità di visualizzazione alternativa utilizzando il A comando di commutazione della modalità di visualizzazione. Ciascuno dei 4 gruppi di campi dispone di un'area di riepilogo univoca configurabile separatamente e di una propria area di attività configurabile. Solo una di queste 4 finestre sarà la finestra corrente. La finestra corrente viene visualizzata nell'angolo in alto a sinistra.

Puoi passare da 4 finestre con a e w chiavi. a passa a successivo e w alla finestra precedente. Con g comando, puoi inserire un numero per selezionare la finestra corrente.

5) Visualizzazione in grassetto

Alcune informazioni importanti sono mostrate in grassetto. B il comando alterna l'uso del grassetto. Questo comando influenzerà l'uso della capacità di terminfo in grassetto e altera sia l'area di riepilogo che l'area delle attività per la finestra corrente. Quando questo interruttore è 'ON ' e top funziona in modalità monocromatica, l'intero display apparirà come testo normale. Quindi, a meno che il x e/o y le levette usano il contrario per enfatizzare, non ci sarà alcuna conferma visiva che siano anche accese.

6) Imposta l'intervallo di tempo di visualizzazione

d o s i tasti cambiano il ritardo tra gli aggiornamenti. Richiedi un nuovo tempo di ritardo, che dovrebbe essere in secondi. Soppresso in modalità sicura. Quando d o s viene premuto, verrà richiesto di inserire un valore ( in secondi ) che verrà impostato come intervallo di visualizzazione. Se inserisci 1 qui, la parte superiore si aggiornerà ogni secondo.

7) Attiva/disattiva carico, attività, informazioni sulla memoria

l , t e m i tasti alternano rispettivamente la media del carico, lo stato dell'attività/cpu e le informazioni sulla memoria, come discusso in Tempo di attività e Media del carico , Stato CPU e Utilizzo della memoria .

8) Gestione campo per la visualizzazione

F tasto utilizzato per scegliere quale campo si desidera visualizzare nella schermata di output. Per selezionare un campo da visualizzare, premi SPACE o d chiave sul nome. I campi contrassegnati come * sono selezionati. Premi q o ESC per uscire quando hai finito.

< e >
Il < comando sposta il campo ordinato a sinistra e > a destra

9) Ordinamento inverso

Per impostazione predefinita, l'ordinamento viene eseguito in ordine decrescente. Premendo R invertirà l'ordine di ordinamento della colonna attualmente ordinata, utilizzando questo comando interattivo visualizza pI processi che consumano la minor quantità di CPU vengono mostrati per primi.

10) Mostra il percorso del comando

c visualizza il percorso completo del comando insieme agli argomenti della riga di comando nella colonna COMANDO.

11) Attività inattive

i il tasto non mostra le attività inattive Attiva/disattiva le attività inattive. Visualizza tutte le attività o solo le attività attive. Quando questo interruttore è disattivato, le attività che non hanno utilizzato alcuna CPU dall'ultimo aggiornamento non verranno visualizzate. Tuttavia, a causa della granularità dei campi %CPU e TIME+ , potrebbero essere ancora visualizzati alcuni processi che sembrano non aver utilizzato CPU.

12) Vista foresta

V key visualizzerà i processi in una gerarchia genitore-figlio come di seguito

13) Cambia mappa colori

Premendo la Z Il tasto porta l'utente a una schermata in cui è possibile modificare il colore del display per il comando superiore. Ti verrà presentato uno schermo separato. Quella schermata può essere utilizzata per cambiare i colori solo nella finestra corrente o in tutte e quattro le finestre prima di tornare al display superiore. Quando emetti la Z comando interattivo, hai 4 lettere maiuscole per selezionare un target per 8 numeri per selezionare un colore

La schermata seguente mostra la vista dall'alto a colori con tutti e 4 gli schermi accesi.

14) Attiva/disattiva colore

z accende o spegne il display a colori. cambia la finestra corrente tra l'ultima combinazione di colori utilizzata e la forma precedente di nero su bianco o bianco su nero. Questo comando modificherà sia l'area di riepilogo che l'area delle attività

15) Modifica l'evidenziazione per il campo di ordinamento corrente e l'attività in esecuzione

x per Colonna-Evidenziazione cambia l'evidenziazione per il campo di ordinamento corrente. Se dimentichi quale campo viene ordinato, questo comando può fungere da rapido promemoria visivo, a condizione che il campo di ordinamento venga visualizzato. Il campo di ordinamento potrebbe non essere visibile perché la larghezza dello schermo è insufficiente e/o il f comando interattivo lo ha disattivato

y per Row-Highlight attiva/disattiva l'evidenziazione delle modifiche per le attività in esecuzione. L'uso di questa disposizione fornisce informazioni importanti sullo stato di salute del sistema. Gli unici costi saranno alcune sequenze di escape tty aggiuntive

A seconda delle impostazioni di visualizzazione, potrebbe essere necessario rendere l'output colorato per notare questi punti salienti.

16) Mostra i processi di un Utente

u mostra i processi per un particolare utente. Viene richiesto di inserire il nome utente. Lo spazio vuoto verrà visualizzato per tutti gli utenti. Visualizza solo i processi con un ID utente o un nome utente corrispondente a quello specificato, corrisponde all'utente effettivo

17) Mostra il numero di attività visualizzate

n o # impostare il numero massimo di attività visualizzate. Viene richiesto di inserire il numero di attività da visualizzare. Verranno utilizzati il ​​locatore del tuo numero e le righe dello schermo disponibili. Quando viene utilizzato in modalità di visualizzazione alternativa, questo è il comando che fornisce un controllo preciso sulle dimensioni di ciascuna visualizzazione attività attualmente visibile, ad eccezione dell'ultima. Non influirà sulle dimensioni dell'ultima finestra, poiché tutte le visualizzazioni delle attività precedenti saranno già state dipinte.

18) Termina le attività

Uno dei comandi più importanti di top. k viene utilizzato per inviare segnali alle attività (di solito termina le attività). Verrà richiesto un PID e quindi il segnale da inviare. L'immissione di un PID o di un numero negativo verrà interpretata come l'impostazione predefinita mostrata nel prompt (la prima attività visualizzata). Un valore PID pari a zero indica il programma principale stesso. Il segnale predefinito, come indicato nel prompt, è SIGTERM. Tuttavia, puoi inviare qualsiasi segnale, tramite numero o nome. Se desideri interrompere il processo di eliminazione, esegui una delle seguenti operazioni a seconda dei tuoi progressi:al

  • al prompt del pid, digita un numero non valido
  • al prompt del segnale, digita 0 (o qualsiasi segnale non valido)
  • a qualsiasi prompt, digitare

19) Rifinisci un compito

Il r l'opzione viene utilizzata per modificare la priorità del processo. Questa operazione è anche chiamata renice un'attività per modificare la priorità di pianificazione. Ti verrà richiesto un PID e quindi il valore su cui eseguirlo. L'immissione di un PID o di un numero negativo verrà interpretata come l'impostazione predefinita mostrata nel prompt (la prima attività visualizzata). Un valore PID pari a zero indica il programma principale stesso. Un valore positivo positivo farà perdere priorità a un processo. Al contrario, un valore positivo negativo farà sì che un processo venga visualizzato in modo più favorevole dal kernel.

Come regola generale, gli utenti ordinari possono solo aumentare il valore piacevole e gli viene impedito di abbassarlo. Se desideri interrompere il processo di renice, esegui una delle seguenti operazioni a seconda dei tuoi progressi:

  • al prompt del pid, digita un numero non valido
  • al bel prompt, digita senza input
  • a qualsiasi prompt, digitare

20) Stato CPU separato

Questo comando influenza il modo in cui t viene mostrata la parte relativa agli stati della CPU del comando. Quando vedi %Cpu(s) nell'area di riepilogo, il 1 l'interruttore è attivo e tutte le informazioni sulla CPU vengono raccolte in un'unica riga. In caso contrario, ciascuna CPU viene visualizzata separatamente come:`%Cpu0, %Cpu1, ...' fino all'altezza dello schermo disponibile.

21) Riepiloga lo stato della CPU

Questo 2 il comando alterna 1 visualizzazione di riepilogo della CPU del comando (solo) o una visualizzazione di riepilogo più le statistiche sull'utilizzo della CPU per ciascun nodo NUMA.

22) Visualizza il comando superiore in modalità batch

Il -b l'opzione avvia il comando superiore in modalità batch. Può essere utile quando vuoi salvare l'output in un file.

# top -b
top - 01:05:36 up 4 days,  2:59,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 117 total,   1 running, 116 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.6 us,  0.2 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   500096 total,    50244 free,    45732 used,   404120 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   414836 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1373 root      20   0   40388   3672   3160 R  6.2  0.7   0:00.02 top
    1 root      20   0   38052   5600   3488 S  0.0  1.1   0:23.26 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:09.17 ksoftirqd/0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    7 root      20   0       0      0      0 S  0.0  0.0   0:27.64 rcu_sched
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
   10 root      rt   0       0      0      0 S  0.0  0.0   0:04.02 watchdog/0

23) Attiva/Disattiva nome programma/comando

Come discusso nei comandi precedenti, -c l'opzione passerà dall'ultimo stato memorizzato di visualizzazione del nome di comando/programma.

24) Imposta l'intervallo di ritardo nella riga di comando

-d imposta l'intervallo di ritardo per la parte superiore (in secondi). Ad esempio:

$ top -d 1

avvierà il comando superiore con un intervallo di ritardo di 1 secondo.

25) attiva/disattiva processo inattivo nella riga di comando

Questa opzione imposta il comando principale con l'ultimo i memorizzato stato invertito.

$ top -i

26) Imposta il numero di iterazioni nella riga di comando

Con -n opzione, puoi impostare il numero di iterazioni dopo le quali finirà la parte superiore.

$ top -n 3

uscirà in alto automaticamente dopo 3 uscite. Nell'immagine qui sotto, è uscito automaticamente

27) Monitora PID specifici nella riga di comando

Puoi specificare quali PID vuoi monitorare con -p opzione. Il valore PID 0 verrà trattato come ID processo del comando top stesso.

$ top -p pid_value

28) Visualizza attività per nome utente o UID nella riga di comando

Il processo di un particolare utente può essere visualizzato con queste opzioni. Il nome utente o l'UID possono essere specificati nell'opzione. Il -p , -u e -U le opzioni si escludono a vicenda. È possibile utilizzare solo una delle opzioni alla volta. Viene visualizzato un errore quando si tenta di utilizzare una qualsiasi combinazione di queste opzioni:

$ top -u franshesco

29) Crea un ordinamento per ... nella riga di comando

Il -o può essere utilizzato con il comando top per il filtraggio. Determina quali attività verranno mostrate nella finestra 'corrente'. Ad esempio, ordineremo per %CPU

# top -o %CPU

30) Controlla la versione del comando principale

Per controllare la versione del comando principale, utilizziamo l'opzione -v

# top -v
  procps-ng version 3.3.10

Conclusione

Ora possiamo manipolare i nostri processi con il comando superiore. Abbiamo i suoi potenti e vantaggi. È possibile utilizzarlo a riga di comando o in modalità interattiva. Ora possiamo facilmente scegliere come usarlo per le nostre esigenze.


Linux
  1. Suggerimenti per l'inizio:monitoraggio del carico della CPU su Linux

  2. 12 Esempi di comandi IP per utenti Linux

  3. kill Esempi di comandi in Linux

  4. renice Esempi di comandi in Linux

  5. Esempi di comandi pkill in Linux

Tutorial sui comandi principali di Linux per principianti (8 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)

Comando di localizzazione Linux per principianti (8 esempi)

16 Esempi pratici di comando Linux LS per principianti

UNIX / Linux:7 esempi pratici di comandi PS per il monitoraggio dei processi

top Esempi di comandi in Linux