14 Strumenti della riga di comando per verificare l’utilizzo della CPU in Linux

Le prestazioni della CPU sono un aspetto della misurazione del prestazioni di un sistema. Il monitoraggio delle prestazioni della CPU è essenziale per eseguire il debug dei processi all’interno di qualsiasi sistema, gestire le risorse di sistema, prendere decisioni di sistema e valutare ed esaminare i sistemi in tempo reale.

Sono disponibili molti strumenti per il monitoraggio e la visualizzazione Prestazioni della CPU. I sistemi operativi hanno chiamate di sistema integrate su cui questi strumenti fanno affidamento per estrarre le letture delle prestazioni.

In questo tutorial, esploreremo il miglior strumento di monitoraggio dell’utilizzo della CPU e il loro utilizzo in qualsiasi distribuzione basata su Linux.

1) Top

Il comando top mostra la visualizzazione in tempo reale dei dati relativi alle prestazioni di tutti i processi in esecuzione in un sistema. Per impostazione predefinita, il comando superiore aggiorna i dati ogni 5 secondi. Digitare “top” dal terminale per visualizzare i dati statistici relativi alle prestazioni di un sistema.

 # top

Per modificare l’output del comando top, premere:

“P” per ordinare in base all’utilizzo della CPU.

“I” per rimuovere i processi inattivi dal display e per tornare indietro premere di nuovo “I”.

“M” per ordinare i dati in base all’utilizzo della memoria.

“S” per ordinare in base al tempo di esecuzione dei processi digitare.

“P” per ordinare in base all’utilizzo della CPU.

“U” per visualizzare i processi di proprietà di un utente specifico.

“K” per terminare i processi.

“R” per rinominare i processi.

2) Iostat

Il comando iostat elenca l’utilizzo della CPU, l’utilizzo del dispositivo e l’utilizzo del file system di rete. Questa utility mostra l’utilizzo medio della CPU del sistema dall’ultimo riavvio. L’esecuzione del seguente comando senza alcuna opzione visualizza tutti e tre i rapporti.

 # iostat

Per elencare i singoli rapporti utilizzare le opzioni -c, -d e -h per l’utilizzo della CPU , utilizzo del dispositivo e utilizzo del file system di rete. Il comando seguente interromperà l’utilizzo della CPU in processi utente, processi di sistema, attesa I / O e tempo di inattività.

 # iostat -c

Il seguente comando mostrerà statistiche estese ( -x), il numero di volte (-t) ogni rapporto deve essere visualizzato per l’utilizzo della CPU (-c).

 # iostat -xtc 5 2

3) Vmstat

Il comando vmstat mostrerà le statistiche sui processi di sistema, la memoria, lo scambio, I / O e le prestazioni della CPU. Per la visualizzazione delle statistiche, i dati vengono raccolti dall’ultima volta che il comando è stato eseguito fino ad oggi. Nel caso in cui il comando non venga mai eseguito, i dati andranno dall’ultimo riavvio all’ora corrente.

Su più sistemi CPU, vmstat calcola la media del numero di CPU nell’output. Il comando vmstat aggiorna il suo output come il comando top.

Il seguente comando aggiornerà il suo rapporto ogni 5 secondi fino a quando non si verifica un interrupt.

 # vmstat 5

Il seguente comando visualizzerà i dati che verranno aggiornati ogni 5 secondi e i valori verranno misurati nuovamente e riportati ogni secondo.

 # vmstat 1 5

Il la prima riga stampa i valori medi dall’ultimo riavvio del computer. Il resto delle righe visualizzerà i rispettivi valori correnti. Un utente normale può eseguire il comando vmstat.

4) Mpstat

Mpstat fa parte del pacchetto sysstat in Linux. Il comando mpstat scrive sull’output standard delle attività per ogni processore disponibile, il primo è il processore 0. Se non è stata selezionata alcuna attività, il rapporto predefinito è il rapporto sull’utilizzo della CPU.

mpstat senza alcuna opzione mostrerà le attività medie globali di tutte le CPU

 # mpstat

mpstat con l’opzione -p e “ALL” elencherà le statistiche su tutte le CPU una per una a partire da 0.

 # mpstat -P ALL

Il seguente comando elenca l’utilizzo medio della CPU per 4 volte, ciascuna dopo 2 secondi.

 # mpstat -P ALL 2 4

5) Sar

Sar è uno strumento di monitoraggio delle prestazioni per raccogliere, visualizzare e registrare i dati sulle prestazioni e può elencare ciò che un sistema sta facendo tutto il tempo. Il comando Sar può generare report e inviarli tramite posta elettronica all’amministratore di sistema. Le statistiche riportate da sar includono velocità di trasferimento I / O, attività di paging, attività relative al processo, interruzioni, attività di rete, utilizzo della memoria e dello spazio di swap, utilizzo della CPU, attività del kernel e statistiche TTY, tra gli altri. Esegui sar senza alcuna opzione e controlla l’output. Le statistiche dell’elenco di output predefinito per ogni 10 minuti e una media finale.

 # sar

Visualizza le statistiche della CPU 3 volte con un intervallo di 2 secondi.

 # sar 2 3

Il seguente comando mostra l’utilizzo cumulativo della CPU in tempo reale di tutta la CPU ogni 2 secondi per un totale di 3 volte.

 # sar -u 2 3

L’opzione “-P ALL” mostra le statistiche per TUTTI i singoli Core. Se il tuo sistema ha 4 core, la “colonna CPU” conterrà il numero 0, 1, 2, 3 che indica i numeri di core CPU corrispondenti.L’opzione “2 3” mostra le statistiche ogni 2 secondi per 3 volte.

 # sar -P ALL 2 3

L’opzione “-P 2” mostra le statistiche per il terzo core ogni 2 secondi per 3 volte.

 # sar -P 2 2 3

6) CoreFreq

CoreFreq è un software di monitoraggio delle prestazioni della CPU progettato per processori a 64 bit con architetture Intel Atom, Core2, Nehalem, SandyBridge e superiore, AMD Family. Il CoreFreq fornisce un framework per il recupero dei dati della CPU con un alto grado di precisione. Il modulo del kernel, il daemon e l’interfaccia della riga di comando (CLI) userland sono le tre parti di Corefreq. Il modulo del kernel avrà pieno accesso all’host. È sua responsabilità raccogliere i dati di basso livello. Il demone userland raccoglie i dati. Dovresti essere un utente root per eseguire il demone. Infine, CoreFreq viene fornito con un’interfaccia terminale per riportare i dati in un bel formato leggibile dall’uomo. Questo strumento CLI è un processo ordinario e può essere utilizzato dall’utente finale.

Prerequisito

i) CoreFreq utilizza il contatore di basso livello e quindi dovresti prima disabilitare il watchdog NMI tramite / ecc / default / grub. Modifica / etc / default / grub e aggiungi l’argomento della riga di comando del kernel “nmi_watchdog = 0” e successivamente esegui update-grub.

 # vi /etc/default/grub
 .................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
 # update-grub && reboot

ii) Nessuna virtualizzazione. Le VM non forniscono accesso ai registri utilizzati dal driver CoreFreq.

Installa CoreFreq

Installa il modulo kernel con insmod

 # sudo insmod corefreqk.ko

Elenca il modulo CoreFreq con lsmod

 # lsmod | grep corefreq corefreqk 49152 0

L’output del comando dmesg mostra che CoreFreq è stato riconosciuto dal processore.

 # sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU 

Avvia il demone CoreFreq

 # sudo ./corefreqd -i &

Ora avvia il client corefreq come utente.

 # ./corefreq-cli

7) Htop

Htop è un visualizzatore di processi e un’applicazione in modalità testo per il monitoraggio del sistema in tempo reale come top. Visualizza un completo elenco dei processi in esecuzione ed è facile da usare. Si basa su ncurses per visualizzare i processi in un ambiente simile a una GUI in esecuzione nel terminale. Htop mostra l’utilizzo per CPU insieme alla memoria e all’utilizzo dello scambio con un grafico di testo significativo stampato in alto. Htop è molto comodo da usare e facile da capire. Una volta che inizi a utilizzare HTOP, y Potresti non tornare in TOP.

Installa htop utilizzando il seguente comando nel terminale

 # sudo apt-get install htop

Esegui htop utilizzando il seguente comando.

 # htop

8) Nmon

nmon (Nigel’s Performance Monitor per Linux & AIX) è stato sviluppato dal dipendente IBM Nigel Griffiths. Questo strumento viene utilizzato per monitorare le risorse di sistema come CPU, memoria, rete, dischi, file system, NFS, i principali processi nel terminale. NMON supporta varie architetture come POWER, x86, x86_64, Mainframe e ARM (Raspberry Pi). Questo strumento aiuta l’amministratore di sistema a mettere a punto, confrontare le informazioni sulle prestazioni per risolvere i problemi delle prestazioni della CPU / del sistema in caso di problemi. Per il monitoraggio in tempo reale, utilizza la libreria curses per un basso impatto sulla CPU e visualizza le statistiche sullo schermo e si aggiorna ogni due secondi. nmon consuma meno memoria della CPU rispetto ad altri strumenti poiché utilizza la libreria curses.

Installazione

 # sudo apt-get install nmon (Ubuntu) # sudo yum install nmon (CentOS)

Gli utenti CentOS devono installare / abilitare Repository EPEL per installare nmon.

Digita nmon nel terminale e premi invio, nmon mostrerà una schermata di benvenuto con tutte le opzioni per utilizzarlo ulteriormente. Se desideri visualizzare l’utilizzo della CPU, premi ce per nascondere le statistiche dei widget di utilizzo della CPU, premi di nuovo “c”.

9) Glances

Glances è uno strumento di monitoraggio multipiattaforma basato su curses scritto in Python che utilizza la libreria psutil per recuperare i dati dal sistema. Monitorare la CPU, il carico medio, la memoria, le interfacce di rete, l’I / O del disco, i processi e l’utilizzo degli spazi del file system.

Installa gli sguardi nel sistema con il seguente comando.

In Ubuntu :

 # sudo apt-get install glances

In Centos:

 # sudo yum install glances

Puoi eseguire Glances in 3 modalità:

1. Standalone

Se desideri monitorare la tua macchina locale (Standalone), esegui semplicemente-

 # glances

2. Client / Server

Se desideri monitorare in remoto una macchina, esegui quanto segue sul server.

 # glances -s

e poi dal client , esegui il seguente comando.

 # glances -c @server

dove @server è l’indirizzo IP o il nome host del server.

3. Server web

Esegui gli sguardi in modalità server web eseguendo il seguente comando nel terminale.

 # glances -w Glances web server started on http://0.0.0.0:61208/

Per modificare la frequenza di aggiornamento del pagina, aggiungi semplicemente il punto in secondi alla fine dell’URL. Ad esempio, per aggiornare la pagina ogni 30 secondi, aggiungi 10 all’URL del server dei look dal browser.

 http://@server:61208/30

10) Cpustat

Cpustat è come una specie di top fantasia che fa cose diverse. La maggior parte degli strumenti per le prestazioni media l’utilizzo della CPU in pochi secondi o addirittura un minuto. Ciò si traduce in una fantasia di capacità in eccesso a causa di un improvviso aumento dell’utilizzo delle risorse che si fonde con periodi meno impegnativi. D’altra parte, cpustat prende campioni di frequenza più alta di ciascun processo e riassume questi campioni a una frequenza inferiore. Ad esempio, può misurare un processo ogni 200 ms e riepilogare i campioni ogni 5 secondi, inclusi i valori min / medi / massimi per alcune metriche.

Installa Cpustat

Cpustat viene scritto in lingua Go. Pertanto, hai bisogno di GO nel tuo sistema. Se non è presente, installalo utilizzando i seguenti comandi nel terminale.

In Ubuntu

 # sudo add-apt-repository ppa:longsleep/golang-backports # sudo apt-get update # sudo apt-get install golang-go

In CentOS

 # yum install golang

Dopo aver installato Golang nel tuo sistema, crea una directory per Cpustat e rendila disponibile per GOPATH.

 # mkdir cpustat # export GOPATH=$HOME/cpustat

Installa Cpustat e verifica che le directory siano copiate nella cartella cpustat.

 # go get github.com/uber-common/cpustat # cd cpustat && ls

Aggiungi la cartella bin alla variabile d’ambiente PATH. Puoi anche aggiungere la seguente riga a ~ / .bashrc o / etc / profile a seconda di cosa stai utilizzando.

 # export PATH=$PATH:/root/cpustat/bin

Ci sono due modi per visualizzarlo dati. O un elenco di testo puro dell’intervallo di riepilogo o un dashboard a scorrimento colorato di ciascun campione. Per visualizzare i dati in modalità terminale fantasia, eseguire il seguente comando nel terminale.

 # cpustat -t

Per eseguire in modalità testo puro, utilizzare il seguente comando. In modalità testo, poche metriche di riepilogo a livello di sistema provengono da / proc / stat.

 # cpustat

Il seguente comando prenderà un campione di tutti i processi ogni 500 ms e riepilogare questi dati dopo 10 campioni, ovvero ogni 5 secondi.

 # cpustat -s 500 -s 10 -n 20

Utilizzare il seguente comando per misurare i processi di proprietà dell’utente root o dell’utente ubuntu. Le statistiche generali del sistema verranno comunque misurate.

 # cpustat -u root, ubuntu

Misura solo processi di “apache” o “mysql”. L’opzione -p di cpustat accetta un elenco di ID di processo restituiti da pgrep. pgrep viene utilizzato per ottenere gli id di processo (opzione -d).

 # cpustat -p $(pgrep -d, apache2\|mysqld)

Usa il seguente comando per scrivere il profilo di memoria in un file.

 # cpustat -memprofile test.txt

11) perf

Perf può misurare i contatori delle prestazioni della CPU, tracepoint, kprobes e uprobe inclusi nel kernel Linux, sotto tools / perf. perf è nato come strumento per utilizzare il sottosistema dei contatori delle prestazioni in Linux e ha avuto vari miglioramenti per aggiungere funzionalità di traccia. Gli strumenti perf sono integrati nel kernel Linux dalla versione 2.6 e sono basati sul sottosistema degli eventi perf. Il profilatore perf utilizza contatori hardware per profilare l’applicazione. Il risultato di questo profiler è esplicito e veloce. L’utilità perf è disponibile nel pacchetto linux-tools.

Measure entire system for 10 seconds using perf.
 # perf stat -a -- sleep 10

Se sei interessato a trovare le prestazioni della CPU per un particolare” comando “come cp. Il seguente comando perf profilerà cp mentre copia l’intera directory Documents in una nuova posizione (Docs).

 # perf stat cp -r Documents/ Docs

Se desideri trovare le statistiche del contatore della CPU per un PID specificato, quindi utilizzare il seguente comando finché non viene premuto CTRL + C.

 # perf stat -p 2087

Trova le statistiche di base della CPU, a livello di sistema, per 10 secondi utilizzando la seguente perf comando. Puoi anche omettere una qualsiasi delle opzioni sotto l’opzione -e per essere più specifico.

 # perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10

Raccogli le istruzioni utente sulla CPU di esempio, per 5 secondi e poi utilizza il rapporto sulle prestazioni per visualizzare il rapporto.

 # perf record -e cycles:u -a -- sleep 5 # perf report

Raccogli tracce dello stack della CPU di esempio, una volta ogni 10.000 mancate cache di dati di livello 1, per 5 secondi, quindi utilizza il rapporto perf per visualizzare il rapporto.

 # perf record -e L1-dcache-load-misses -c 10000 -ag -- sleep 5 # perf report

12) tiptop

Tiptop legge i contatori delle prestazioni dell’hardware e visualizza le statistiche sull’esecuzione dei processi Linux, come IPC o cache miss. Fornisce una visualizzazione dinamica in tempo reale delle attività in esecuzione nel sistema. Tiptop è molto simile a top, ma le informazioni visualizzate provengono da contatori hardware.

Ha due modalità di esecuzione, modalità live e modalità batch. In entrambe le modalità, il sistema viene periodicamente interrogato per i valori dei contatori hardware e vengono stampati vari rapporti per ogni attività.

13) comando ps

Possiamo usare il comando ps per trovare utilizzo della CPU per ogni processo o utenti. Dati alcuni esempi da comprendere

Per visualizzare la CPU più alta & Utilizzo della memoria da parte dei processi eseguiti da root.

Esegui il seguente comando per visualizzare l’utilizzo della CPU per il comando specifico:

Per mostrare i processi per tutti gli utenti e non collegati a un terminale in un elenco completo del formato con un ordinamento

14) comando dstat

Il comando dstat è uno strumento versatile per la generazione di statistiche sulle risorse di sistema e mostrerebbe anche le statistiche della CPU. Devi installarlo per usarlo

Su Centos

# yum install -y dstat

Su Ubuntu

# apt-get install dstat

Per monitorare il programma che utilizza più CPU e consuma più memoria.

# dstat -c --top-cpu -dn --top-mem

Conclusione

In questo tutorial, abbiamo esplorato alcuni strumenti di monitoraggio delle prestazioni della CPU insieme ai loro usi. Assicurati di leggere le pagine man per ciascuno di essi, poiché documenta anche gli usi in dettaglio. Ricorda che l’utilizzo di questi strumenti richiede anche una fetta di CPU. Ad esempio, top prende il 3% -4% di CPU mentre gli sguardi prendono dal 15% al 20% di CPU. Quindi, durante l’utilizzo di uno qualsiasi di questi, è necessario considerare anche questo aspetto. In poche parole, sarai in grado di scoprire quale processo sta impiegando più tempo della CPU, se c’è abbastanza memoria libera, se i processi sono bloccati durante l’attesa della visualizzazione I / O. accesso al disco o alla rete per completare la lettura / scrittura e molto altro ancora utilizzando una combinazione di alcuni di essi.

Leggi anche:

  • Come monitorare le prestazioni di Linux utilizzando il comando Sar
  • Installa htop 2.0.2 e usa la riga di comando su Linux

Write a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *