Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Fcm/Edizione/GruppoC5"
Differenze tra le versioni 56 e 73 (in 17 versioni)
Versione 56 del 03/08/2011 15.46.37
Dimensione: 24975
Commento:
Versione 73 del 31/05/2012 13.25.08
Dimensione: 35568
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 2: Linea 2:
#acl GruppoAdmin:admin,read,write,revert GruppoEditori:read,write,revert GruppoFcm:read,write,revert -All:read -Known:read #acl GruppoAdmin:admin,read,write,revert GruppoOperatori:admin,read,write,revert GruppoEditori:read,write,revert CristianoLuinetti:admin,read,write,revert MarcoBuono:admin,read,write,revert AldoLatino:admin,read,write,revert PaoloGarbin:admin,read,write,revert GruppoFcm:read,write,revert -All:read -Known:read 
Linea 5: Linea 5:
== HowTo6 ==

=== Traduzione italiana ===
HOW-TO Backup con Wubi scritto da Chris Binnie

Non abbiate timore fan della virtualizzazione, la serie di Luca riprenderà il prossimo mese.
Come molte persone, anch'io negli anni ho utilizzato il mio pc desktop con Ubuntu per svariati compiti.
Per lavoro mi occupo anche di gestire alcuni Server Ubuntu e ho scoperto che non c'è nulla di più semplice che provare nuove applicazioni o configurazioni sul mio desktop prima di eseguire le stesse modifiche sui server - per evitare incidenti di percorso. Oltre a ciò che attiene il lavoro, sono un fan di Compiz e qualche volta spingo la mia scheda grafica al limite per vedere se riesce a supportare i più recenti effetti grafici messi a disposizione da Gnome, come effetto secondario spesso mi ritrovo con un desktop inutilizzabile. L'ultima volta è capitato con una configurazione un po' ardita di Grub2 che ha reso il mio sistema non più avviabile.
Sebbene Apt sia molto efficace nel rimuovere ogni applicazione non più necessaria (mi riferisco a: apt-get autoremove), ogni tanto mi capita di installare di proposito una nuova configurazione con l'intenzione di manomettere quella esistente, trasformando di fatto il mio desktop in un server di sviluppo.

Un server presente in un Data Centre che non si avvia è certamente un vero grattacapo, non è così per il mio desktop e questo grazie a un elegante software: Wubi (http://wubi-installer.org).
Stando a quanto riportato sul sito, "Wubi è un programma per utenti Windows, ufficialmente supportato da Ubuntu, che ti può condurre nel mondo Linux con un semplice clic."
Molti tecnici con cui ho parlato hanno sentito parlare di Wubi, ma dubito che essi lo utilizzino nello stesso modo in cui lo utilizzo io. Wubi usa "loop disk", che non sono altro che normali file che al loro interno possono arrivare a contenere un intero sistema operativo, esattamente come avviene con i dispositivi a blocchi. Questi file normalmente sono utilizzati per trasferire immagini ISO su CD e floppy disk. Possiamo semplicemente dire che, su un pc con Windows già installato, Wubi aggiunge un'opzione al menu iniziale di boot, questa opzione fa riferimento ai propri "loop disk" come se fossero dischi aggiuntivi presenti sullo stesso computer. Wubi giustamente pubblicizza se stesso come sistema per avvicinare a Linux gli utenti Windows - senza la necessità di alcuna modifica ai loro pc. Si tratta di un grosso vantaggio. In caso di disinstallazione, Wubi rimuove la propria voce dal menù d'avvio e cancella i "loop disk"; non è necessario nessun ricorso a formattazione o partizionamento, una volta rimosso Wubi, a basso livello nulla è cambiato. Decisamente ingegnoso. Adoro la sua semplicità. Questa è il motivo che mi ha inizialmente attratto. Volevo esibire le virtù di Linux a un familiare che possedeva una installazione di Windows a cui teneva particolarmente e che quindi era un po' riluttante. Non volevo procedere con una installazione ad avvio multiplo (dual-boot), nel caso cambiasse idea. Una delle meraviglie di Wubi è che il risultato a cui si giunge installandolo sul proprio pc è identico a quello di una normale installazione di Ubuntu - confesso che inizialmente ero molto scettico, temevo problemi di compatibilità e prestazioni.
I "loop disk" non sono privi di svantaggi, ma l'esperienza mi insegna che con i backup a portata di mano, essi sono relativamente innocui. Prima di tutto in caso di mancanza improvvisa di corrente e se qualcuno inavvertitamente spegne il vostro pc, non sarà semplice recuperare il file system contenuto in un "loop disk"; fsck fa del suo meglio, ma non sempre il risultato è paragonabile a quello ottenuto se l'installazione è su un disco fisico. Sembrerebbe che installare Wubi su una partizione dedicata possa aiutare a ripartire dopo una interruzione di corrente. Secondo, l'ibernazione non è supportata, questo potrebbe leggermente infastidire i possessori di portatili. Terzo, è importante deframmentare il disco di Windows contenente Wubi per conservare buone prestazioni.
Nel caso in cui si sia dedicato tanto tempo alla personalizzazione di Wubi allora c'è sempre l'opportunità di convertire l'installazione in un disco fisico facendo ricorso ad alcuni utili strumenti facilmente reperibili.

Grazie alla portabilità dei "loop disk", posso salvare tutto il mio pc su un disco separato in circa novanta secondi. Questo significa che mi posso permettere di perdere un intero disco a causa di un guasto hardware, posso lasciare (inavvertitamente) aperta una falla di sicurezza e ritrovarmi con il mio computer compromesso da un attacco, riprendermi da un baco software bloccante o sconfigurare inavvertitamente qualche impostazione e rendere di fatto il mio sistema inutilizzabile. Sono sicuro che ognuno di voi avrà avuto occasione di sperimentare in quanti modi un pc si possa guastare.
Si potrebbe dire che è come se la vostra installazione di Ubuntu fosse avvenuta in una specie di Macchina Virtuale (di fatto si tratta di un'immagine disco). Sono il primo a sostenere che non siamo di fronte a un sistema elegante, ma sono anche convinto che sia meglio mantenere le cose il più semplice possibile in modo che, in futuro, risulti semplice aggiustarle e non sia invece necessario leggere papiri di manuali. Il livello di portabilità del mio Sistema Operativo è così elevato che posso salvarlo su un supporto rimovibile e migrarlo su un altro computer, oppure, con una connessione ad Internet veloce, posso farne una copia nella nuvola.
Oltre a questa insospettata possibilità, Wubi fornisce molte altre funzioni, fate riferimento a: http://wiki.ubuntu.com/WubiGuide
Durante la veloce installazione (sotto Windows), è possibile specificare la dimensione iniziale del "loop disk" e sebbene l'operazione non sia completamente indolore (è consigliato eseguire prima un backup dell'installazione), esiste anche un utile comando che permette di ridimensionare l'installazione.
Oltretutto è semplice montare i "loop disk" nel caso si vogliano copiare i file contenuti, è anche immediato accedere ai vostri file Windows, usando come è possibile immaginare:
mount -o loop myloop.disk /mnt
Reputo che i "loop disk" di dimensione intorno ai 6.5GB siano i più adatti per creare veloci copie di backup e che lo spazio libero si presti bene ad ospitare gli aggiornamenti dei pacchetti (l'installazione iniziale occupa solo pochi GB) come anche gli aggiornamenti di versione. Montare un disco indipendente dalla vostra installazione è così semplice che basta digitare mount /dev/sdX /mnt, questo si traduce nella possibilità di avere accesso a tutto lo spazio disco che il vostro hardware può offrire. Le mie prime installazioni di Wubi andavano dai 15GB ai 20GB ma, senza dubbio, avendo cura di tenerle più piccole, è possibile eseguire il backup della vostra installazione di Ubuntu su DVD o memoria USB in modo più facile.
Un altro grande vantaggio dal mio punto di vista è che non è più necessario spegnere il computer per eseguire backup in tempo reale dell'intero sistema. La mia esperienza con i server mi porta ad avviare il sistema in Modalità Singolo Utente oppure da supporto esterno e duplicare il contenuto dei dischi con strumenti come dd, ma in questo caso Wubi copia questi "loop disk" senza necessità di interruzioni.
I miei primi salvataggi erano decisamente rudimentali e veloci - ma leggermente laboriosi. La cosa più facile è fare clic sull'etichetta "File System" presente sulla sinistra in Nautilus per poi andare nella directory "host". Una volta raggiunta questa directory è possibile vedere una directory di nome Ubuntu contenente il vostro intero sistema (mancano i file appartenenti al bootloader), il file di dimensioni maggiori è il file root.disk che altro non è che il "loop disk". Per eseguire un backup del sistema operativo è sufficiente copiare la directory Ubuntu su un altro disco con sufficiente spazio libero. Terminata la copia, è buona norma rinominare la directory in ubuntu_10.09.10 o qualcosa di simile, in modo da distinguere le varie versioni dei salvataggi.
Nel tempo ho messo insieme un semplice script che misurasse il tempo impiegato dal processo (soprattutto perché volevo rendermi conto di come il mio desktop si comportava), prima dell'avvio si sincerava di montare il drive dedicato a contenere il backup e al termine rinominava il backup. Lo script che utilizzo è molto semplice e si potrebbe migliorare aggiungendo per esempio una barra di progressione, utile nel caso si utilizzi hardware lento e un po' datato e si desideri tenere sotto controllo il tempo impiegato dall'operazione di backup. Come già riportato, novanta secondi sul mio desktop veloce equivale ad un battito di ciglio considerando l'importanza dell'operazione. Una volta alla settimana copio il backup nella nuvola (fortunatamente la velocità di trasmissione della mia connessione ad Internet è in grado di spostare 6,5GB in una notte), inoltre non di rado duplico il backup su un altro disco anch'esso contenuto nel mio pc desktop.
Il cuore dello script che svolge in automatico il backup è il seguente:
# Assegno al nome del file data e ora attuali
filename="`date +%d.%m.%y-%H.%M`"
# Monto il secondo disco fisso, e non restituisco errori se già montato
sudo mount /dev/sdb2 /media/SECOND > /dev/null 2>&1
# Copio la directory ubuntu sul secondo disco
sudo cp -R /host/ubuntu /media/SECOND/Wubi/ubuntu_$filename
# Mi assicuro che anche l'utente chris possa eseguire il drag and drop su questi file e non solo root
sudo chown -R chris:chris /media/SECOND/Wubi/ubuntu_$filename
Per ripristinare un backup ci sono almeno tre alternative veloci. Avviare il sistema con qualcosa simile ad un CD Live di Ubuntu dopodiché rinominare la cartella contenente la versione danneggiata di Ubuntu in ubuntu_broken, e copiare la cartella di backup, per esempio ubuntu_10.09.10 e rinominarla nuovamente in ubuntu. In alternativa è sempre possibile modificare il bootloader, ad esempio Grub o LILO, in modo che punti sul disco alla copia di backup. Ho scoperto che avviare il pc con l'installazione Windows e sostituire i file prelevandoli dal backup è la soluzione più semplice adatta alle mie necessità, inoltre sono necessari solo cinque minuti per ripristinare il mio SO Ubuntu.
Se per una ragione qualsiasi dovessi perdere completamente il mio computer, la mia installazione di Wubi dovrebbe essere compatibile con il nuovo sistema, dopo aver installato Windows, a patto che l'hardware non sia radicalmente diverso. L'unica raccomandazione che mi viene in mente è relativa a un paio di file che in fase di installazione Wubi scrive nella partizione principale di Windows, per sicurezza vale la pena di farne una copia. Sarebbe opportuno copiare questi file all'interno di ogni cartella contenente una copia di backup, anche se di solito ne conservo una sola copia per ogni computer sul quale installo Wubi. Questi file sono molto piccoli e si chiamano wubildr.mbr e wubildr.
Dato che Wubi funziona anche con vecchie e oscure versioni di Windows aventi a disposizione solo 256MB di RAM e un processore con solo 1GHz adatto più ad uno smartphone che a un pc, allora è davvero difficile rinunciare a tutte le cose utili che è in grado di fare.

Idee ed editori cercasi
Abbiamo creato alcune pagine su LaunchPad dedicata al progetto e al gruppo Full Circle. L'intenzione è di dare la possibilità a chi di voi ancora non partecipa di andare sulla pagina del progetto, fare clic su 'Answers' in cima alla pagina, e lasciare le vostre idee per un articolo, siate dettagliati! Sono da evitare frasi tipo 'articoli sui server', specificate cosa il server dovrebbe fare!
Autori che vorrebbero scrivere un articolo e che sono alla ricerca di un argomento possono registrarsi sulla pagina del gruppo Full Circle, prenotare una delle richieste e cominciare a scrivere! Se vi accorgete che non riuscite a finire l'articolo in qualche settimana (un mese al massimo) allora rimuovete la prenotazione in modo da lasciare l'idea a qualcun altro.
Pagina del progetto, dedicata alle idee:
https://launchpad.net/fullcircle
Pagina del gruppo, dedicata agli autori:
https://launchpad.net/~fullcircle
==== Note alla traduzione ====


=== Revisione ===
HOW-TO Backup con Wubi scritto da Chris Binnie

Non abbiate timore fan della virtualizzazione, la serie di Luca riprenderà il prossimo mese.
Come molte persone, anch'io negli anni ho utilizzato il mio pc desktop con Ubuntu per svariati compiti.
Per lavoro mi occupo anche di gestire alcuni Server Ubuntu e ho scoperto che non c'è nulla di più semplice che provare nuove applicazioni o configurazioni sul mio desktop prima di eseguire le stesse modifiche sui server - per evitare incidenti di percorso. Oltre a ciò che attiene il lavoro, sono un fan di Compiz e qualche volta spingo la mia scheda grafica al limite per vedere se riesce a supportare i più recenti effetti grafici messi a disposizione da Gnome, come effetto secondario spesso mi ritrovo con un desktop inutilizzabile. L'ultima volta mi è capitato una configurazione un po' ardita di Grub2 che ha reso il mio sistema non più avviabile.
Sebbene Apt sia molto efficace nel rimuovere ogni applicazione non più necessaria (mi riferisco a: apt-get autoremove), ogni tanto mi capita di installare di proposito una nuova configurazione con l'intenzione di manomettere quella esistente, trasformando di fatto il mio desktop in un server di sviluppo.

Un server presente in un Centro Dati che non si avvia è certamente un vero grattacapo, non è così per il mio desktop e questo grazie a un elegante software: Wubi (http://wubi-installer.org).
Stando a quanto riportato sul sito, "Wubi è un programma per utenti Windows, ufficialmente supportato da Ubuntu, che ti può condurre nel mondo Linux con un semplice clic."
Molti tecnici con cui ho parlato hanno sentito parlare di Wubi, ma dubito che lo utilizzino nello stesso modo in cui lo utilizzo io. Wubi usa il "loop disk", che non sono altro che normali file che al loro interno possono arrivare a contenere un intero sistema operativo, esattamente come avviene con i dispositivi a blocchi. Questi file normalmente sono utilizzati per trasferire immagini ISO su CD e floppy disk. Possiamo semplicemente dire che, su un pc con Windows già installato, Wubi aggiunge un'opzione al menu iniziale di boot, quest’opzione fa riferimento ai propri "loop disk" come se fossero dischi aggiuntivi presenti sullo stesso computer. Wubi giustamente pubblicizza se stesso come sistema per avvicinare a Linux gli utenti Windows - senza la necessità di alcuna modifica ai loro pc. Si tratta di un grosso vantaggio. In caso di disinstallazione, Wubi rimuove la propria voce dal menù d'avvio e cancella i "loop disk"; non è necessario nessun ricorso a formattazione o partizionamento, una volta rimosso Wubi, a basso livello nulla è cambiato. Decisamente ingegnoso. Adoro la sua semplicità. Questa è il motivo che mi ha inizialmente attratto. Volevo esibire le virtù di Linux a un familiare che possedeva una installazione di Windows a cui teneva particolarmente e che quindi era un po' riluttante. Non volevo procedere con una installazione ad avvio multiplo (dual-boot), nel caso cambiasse idea. Una delle meraviglie di Wubi è che il risultato a cui si giunge installandolo sul proprio pc è identico a quello di una normale installazione di Ubuntu - confesso che inizialmente ero molto scettico, temevo problemi di compatibilità e prestazioni.
I "loop disk" non sono privi di svantaggi, ma l'esperienza mi insegna che con i backup a portata di mano, essi sono relativamente innocui. Prima di tutto in caso di mancanza improvvisa di corrente e se qualcuno inavvertitamente spegne il vostro pc, non sarà semplice recuperare il file system contenuto in un "loop disk"; fsck fa del suo meglio, ma non sempre il risultato è paragonabile a quello ottenuto se l'installazione è su un disco fisico. Sembrerebbe che installare Wubi su una partizione dedicata possa aiutare a ripartire dopo una interruzione di corrente. Secondo, l'ibernazione non è supportata, questo potrebbe leggermente infastidire i possessori di portatili. Terzo, è importante deframmentare il disco di Windows contenente Wubi per conservare buone prestazioni.
Nel caso in cui si sia dedicato tanto tempo alla personalizzazione di Wubi, allora c'è sempre l'opportunità di convertire l'installazione in un disco fisico facendo ricorso ad alcuni utili strumenti facilmente reperibili.

Grazie alla portabilità dei "loop disk", posso salvare tutto il mio pc su un disco separato in circa novanta secondi. Questo significa che mi posso permettere di perdere un intero disco a causa di un guasto hardware, posso lasciare (inavvertitamente) aperta una falla di sicurezza e ritrovarmi con il mio computer compromesso da un attacco, riprendermi da un baco software bloccante o sconfigurare inavvertitamente qualche impostazione e rendere di fatto il mio sistema inutilizzabile. Sono sicuro che ognuno di voi avrà avuto occasione di sperimentare in quanti modi un pc si possa guastare.
Si potrebbe dire che è come se la vostra installazione di Ubuntu fosse avvenuta in una specie di Macchina Virtuale (di fatto si tratta di un'immagine disco). Sono il primo a sostenere che non siamo di fronte a un sistema elegante, ma sono anche convinto che sia meglio mantenere le cose il più semplice possibile in modo che, in futuro, risulti semplice aggiustarle e non sia invece necessario leggere papiri di manuali. Il livello di portabilità del mio Sistema Operativo è così elevato che posso salvarlo su un supporto rimovibile e migrarlo su un altro computer, oppure, con una connessione ad Internet veloce, posso farne una copia nella nuvola.
Oltre a questa insospettata possibilità, Wubi fornisce molte altre funzioni, fate riferimento a: http://wiki.ubuntu.com/WubiGuide
Durante la veloce installazione (sotto Windows), è possibile specificare la dimensione iniziale del "loop disk" e sebbene l'operazione non sia completamente indolore (è consigliato eseguire prima un backup dell'installazione), esiste anche un utile comando che permette di ridimensionare l'installazione.
Oltretutto è semplice montare i "loop disk" nel caso si vogliano copiare i file contenuti, è anche immediato accedere ai vostri file Windows, usando come è possibile immaginare:
mount -o loop myloop.disk /mnt
Reputo che i "loop disk" di dimensione intorno ai 6.5GB siano i più adatti per creare veloci copie di backup e che lo spazio libero si presti bene ad ospitare gli aggiornamenti dei pacchetti (l'installazione iniziale occupa solo pochi GB) come anche gli aggiornamenti di versione. Montare un disco indipendente dalla vostra installazione è così semplice che basta digitare mount /dev/sdX /mnt, questo si traduce nella possibilità di avere accesso a tutto lo spazio disco che il vostro hardware può offrire. Le mie prime installazioni di Wubi andavano dai 15GB ai 20GB ma, senza dubbio, avendo cura di tenerle più piccole, è possibile eseguire il backup della vostra installazione di Ubuntu su DVD o memoria USB in modo più facile.
Un altro grande vantaggio dal mio punto di vista è che non è più necessario spegnere il computer per eseguire backup in tempo reale dell'intero sistema. La mia esperienza con i server mi porta ad avviare il sistema in Modalità Singolo Utente oppure da supporto esterno e duplicare il contenuto dei dischi con strumenti come dd, ma in questo caso Wubi copia questi "loop disk" senza necessità di interruzioni.
I miei primi salvataggi erano decisamente rudimentali e veloci - ma leggermente laboriosi. La cosa più facile è fare clic sull'etichetta "File System" presente sulla sinistra in Nautilus per poi andare nella directory "host". Una volta raggiunta questa directory è possibile vedere una directory di nome Ubuntu contenente il vostro intero sistema (mancano i file appartenenti al bootloader), il file di dimensioni maggiori è il file root.disk che altro non è che il "loop disk". Per eseguire un backup del sistema operativo è sufficiente copiare la directory Ubuntu su un altro disco con sufficiente spazio libero. Terminata la copia, è buona norma rinominare la directory in ubuntu_10.09.10 o qualcosa di simile, in modo da distinguere le varie versioni dei salvataggi.
Nel tempo ho messo insieme un semplice script che misurasse il tempo impiegato dal processo (soprattutto perché volevo rendermi conto di come il mio desktop si comportava), prima dell'avvio si sincerava di montare il drive dedicato a contenere il backup e al termine rinominava il backup. Lo script che utilizzo è molto semplice e si potrebbe migliorare aggiungendo per esempio una barra di progressione, utile nel caso si utilizzi hardware lento e un po' datato e si desideri tenere sotto controllo il tempo impiegato dall'operazione di backup. Come già riportato, novanta secondi sul mio desktop veloce equivale ad un battito di ciglio considerando l'importanza dell'operazione. Una volta alla settimana copio il backup nella nuvola (fortunatamente la velocità di trasmissione della mia connessione ad Internet è in grado di spostare 6,5GB in una notte), inoltre non di rado duplico il backup su un altro disco anch'esso contenuto nel mio pc desktop.
Il cuore dello script che svolge in automatico il backup è il seguente:
# Assegno al nome del file data e ora attuali
filename="`date +%d.%m.%y-%H.%M`"
# Monto il secondo disco fisso, e non restituisco errori se già montato
sudo mount /dev/sdb2 /media/SECOND > /dev/null 2>&1
# Copio la directory ubuntu sul secondo disco
sudo cp -R /host/ubuntu /media/SECOND/Wubi/ubuntu_$filename
# Mi assicuro che anche l'utente chris possa eseguire il drag and drop su questi file e non solo root
sudo chown -R chris:chris /media/SECOND/Wubi/ubuntu_$filename
Per ripristinare un backup ci sono almeno tre alternative veloci. Avviare il sistema con qualcosa simile ad un CD Live di Ubuntu dopodiché rinominare la cartella contenente la versione danneggiata di Ubuntu in ubuntu_broken, e copiare la cartella di backup, per esempio ubuntu_10.09.10 e rinominarla nuovamente in ubuntu. In alternativa è sempre possibile modificare il bootloader, ad esempio Grub o LILO, in modo che punti sul disco alla copia di backup. Ho scoperto che avviare il pc con l'installazione Windows e sostituire i file prelevandoli dal backup è la soluzione più semplice adatta alle mie necessità, inoltre sono necessari solo cinque minuti per ripristinare il mio SO Ubuntu.
Se per una ragione qualsiasi dovessi perdere completamente il mio computer, la mia installazione di Wubi dovrebbe essere compatibile con il nuovo sistema, dopo aver installato Windows, a patto che l'hardware non sia radicalmente diverso. L'unica raccomandazione che mi viene in mente è relativa a un paio di file che in fase di installazione Wubi scrive nella partizione principale di Windows, per sicurezza vale la pena di farne una copia. Sarebbe opportuno copiare questi file all'interno di ogni cartella contenente una copia di backup, anche se di solito ne conservo una sola copia per ogni computer sul quale installo Wubi. Questi file sono molto piccoli e si chiamano wubildr.mbr e wubildr.
Dato che Wubi funziona anche con vecchie e oscure versioni di Windows aventi a disposizione solo 256MB di RAM e un processore con solo 1GHz adatto più ad uno smartphone che a un pc, allora è davvero difficile rinunciare a tutte le cose utili che è in grado di fare.

Idee ed editori cercasi
Abbiamo creato alcune pagine su LaunchPad dedicata al progetto e al gruppo Full Circle. L'intenzione è di dare la possibilità a chi di voi ancora non partecipa di andare sulla pagina del progetto, fate clic su 'Answers' in cima alla pagina, e lasciate le vostre idee per un articolo, siate dettagliati! Sono da evitare frasi tipo 'articoli sui server', specificate cosa dovrebbe fare il server!
Autori che vorrebbero scrivere un articolo e che sono alla ricerca di un argomento possono registrarsi sulla pagina del gruppo Full Circle, prenotare una delle richieste e cominciare a scrivere! Se vi accorgete che non riuscite a finire l'articolo in qualche settimana (un mese al massimo) allora rimuovete la prenotazione in modo da lasciare l'idea a qualcun altro.
Pagina del progetto, dedicata alle idee:
https://launchpad.net/fullcircle
Pagina del gruppo, dedicata agli autori:
https://launchpad.net/~fullcircle


==== Note alla revisione ====

Interessanti, alcune parole non tradotte, ed alcune virgole,articolo di buona qualità :)
=== Errata Corrige ===
= Traduzione italiana =

HOW-TO
Scritto da Kevin O'Brien

Usare Il Comando TOP

Uno dei grandi vantaggi nell'utilizzare Linux è che sono disponibili alcuni grandi strumenti che ci aiutano a capire cosa sta succedendo al nostro computer e a diagnosticare eventuali problemi. Uno dei più utili è il comando Top. Tratterò di alcune delle cose che si possono fare e forse menzionerò altresì uno o due ulteriori comandi.

Innanzitutto, tanto per tirarlo fuori, c'è un'alternativa chiamata htop e pianifico di trattarlo in un secondo momento. Però, generalmente, htop ha bisogno di essere installato prima di di poterlo usare, mentre top dovrebbe già essere presente sul proprio sistema, rendendolo un buon punto di partenza. L'uso del comando è semplice: basta aprire un terminale/console e digitare top. Il risultato sarà qualcosa simile all'immagine mostrata a destra.

Ci sono molte informazioni in questa schermata, quindi ci vorrà un po' di tempo per passare in rassegna tutte le opzioni. Quello che possiamo vedere subito è che elenca i processi in esecuzioni sul proprio computer e che mostra l'identificativo di ciascun processo, ecc. Inoltre sopra a questa lista è visibile ogni sorta di numero criptico. Tratteremo di ognuno di essi in questo articolo o nei successivi, ma per farlo dobbiamo andare avanti.

Uso della CPU

Per impostazione predefinita, top elenca i processi in ordine di quantità di CPU che ciascuno di questi utilizza, espressa come percentuale sul totale disponibile. È importante da sapere, poiché se la propria CPU arriva al limite, se ne vedranno degradare le prestazioni. Ciò si può manifestare con ritardi nella risposta a richieste tramite tastiera e/o mouse, scatti nella riproduzione audio o nel video, ecc. Sul mio desktop Kubuntu, ho un pannello laterale impostato per il monitoraggio sull'uso della CPU, della temperatura, della memoria e dell'area di Swap utilizzata e del traffico di rete, così da poter controllare tali funzioni critiche ed evitare che la situazione mi sfugga di mano. Ho visto situazioni in cui l'uso della CPU ha raggiunto il limite del 100% e li è rimasta (generalmente è un risultato di Flash, che non può morire troppo presto, ma questo è uno sfogo per un altro giorno). Quando ciò accade, il comando top mi permette di controllare velocemente e vedere qual'è l'applicazione problematica così posso terminarla.

Una cosa bella del comando top è che interagisce per tutto il tempo che lo si ha nel terminale. Quindi, possiamo uccidere un processo in maniera facile premendo semplicemente la k con un terminale aperto su cui top è in esecuzione. Ciò farà apparire un cursore lampeggiante al di sopra della lista dei processi. Basterà inserire l'ID del processo relativo all'applicazione che si comporta in modo anomalo ed è fatta.

Ora, se guardiamo la schermata di top in esecuzione sul mio computer, potremmo notare alcune cose. Ho detto che dà la percentuale di CPU utilizzata rispetto al totale. E se guardiamo attentamente potremmo osservare che la somma delle percentuali supera il 100%. Come può essere, vi chiederete? Bene, la risposta è che la si sta guardando come percentuale del core sul quale il processo è in esecuzione. Poiché il computer è una macchina dual-core, ha due processori e può distribuire i processi individuali su qualunque core desidera. Così avrei potuto teoricamente vedere fino al 200% se avessi sommato i numeri qui di seguito (anche se sarebbe un male perché indicherebbe che siamo al limite). Se avessi un quad-core, potrei avere fino al 400%, ecc.

Priorità e precisione

L'idea di precisione è di determinare quali processi dovrebbero ottenere altri incentivi quando sono in esecuzione e quali dovrebbero essere messi in background. In altre parole, di impostare alcune priorità di accesso alla CPU. Questo avviene utilizzando un numero di precisione, che appare nella colonna NI. Nella schermata possiamo vedere che tutti i processi sono in esecuzione con numero di precisione zero. Ciò significa che sono in esecuzione con la priorità predefinita, che non è stata alterata in alcun modo. I numeri di precisione vanno da -20 a +19, con -20 come priorità più alta. Ho detto che 0 è la scelta predefinita, ma possiamo verificarlo sul sistema eseguendo il comando nice senza nessun argomento. Ciò che restituisce è il valore predefinito del numero di precisione. Per il momento mi fermo qui con questo argomento, ma se volete saperne di più c'è una buona pagina web presso http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-103-6/. Questo articolo spiegherà come poter cambiare il livello del numero di precisione per alcuni processi, se si desidera farlo.

Memoria

Nella schermata, vicino alla colonna relativa all'uso della CPU c'è quella della memoria utilizzata, sempre espressa come percentuale del totale disponibile. In questo caso, accade che il processo che sta utilizzando maggiore CPU è anche quello che sta utilizzando più memoria, il che non è inusuale. Ma se vogliamo vedere i processi allineati per ordine di memoria consumata? Bene, come ho detto sopra, il comando top è interattivo. Per cambiare l'ordinamento basta premere la lettera maiuscola O mentre il comando è in esecuzione in un terminale. Questo porterà a una utilissima schermata di opzioni di ordinamento (mostrata sotto).

Con questa schermata aperta possiamo premere la lettera minuscola n, dare quindi invio e ottenere l'elenco di ordine di percentuale di memoria utilizzata. Oppure possiamo ordinarlo per altri modi, se necessario.

Di nuovo, è utile se notiamo che stiamo per esaurire la memoria e dobbiamo sapere cosa sta succedendo. Se un processo sta inaspettatamente utilizzando molta memoria, sarebbe sicuramente un'indicazione. Questo non implica che si ha una qualche idea di cosa sia il normale in queste situazioni. Il modo migliore di dare un senso a ciò è di controllare periodicamente e osservare cosa sta succedendo. Nel mio caso, ho portato la mia macchina a 16GB di RAM, così da non aspettarmi di vedere, nella maggior parte dei casi, percentuali di utilizzo molto alte. Per esempio, giusto ora ho i mio pannello inferiore pieno di icone di programmi aperti (al momento sono 18) e un veloce controllo dell'output di top mostra che sto utilizzando il 35-40% del totale della memoria.

Nella schermata, si vede un divoratore di memoria, ma ciò, di fatto, è previsto. Ho VirtualBox che esegue una macchina virtuale, configurata per usare 4GB di RAM (più altre risorse, ovviamente). Quindi, in questo caso, vedevo ciò che mi aspettavo di vedere. Ma se vedevo Firefox che utilizzava troppa memoria, avrei saputo che c'era un problema e l'avrei prontamente chiuso.

q per Quit

Se si ha top avviato nel proprio terminale, si potrebbe voler sapere come uscirne ed è semplice, basta premere la lettera q (per Quit) e si ritornerà al prompt del terminale. Si possono ottenere ulteriori informazioni in questi due modi: il metodo stile vecchia scuola è di digitare 'man top' nel terminale, ma il nuovo metodo, migliorato, è di digitare 'info top'. Tuttavia penso che otterrete lo stesso risultato con entrambi i modi. Il punto è che si tratta di un comando fertile con molte opzioni.

Interpretazione dei Dati di Sistema

Abbiamo visto alcuni concetti base del comando top e ci siamo concentrati nell'esaminare la lista dei processi per individuare e correggere eventuali errori. Questa è ancora una cosa molto utile, naturalmente, ma nell'output ci sono anche molti dati di sistema utili. Riprendiamo la schermata usata l'ultima volta per mostrare il risultato di questo comando (mostrata sotto).

Ora vogliamo concentrarci su quei numeri in cima che stanno rappresentando alcuni dati di sistema molto utili. Quindi partiamo dall'alto (letteralmente):

Riga 1, la riga in cima

Sulla prima riga (sopra) abbiamo il tempo di funzionamento. Effettivamente, questa è un informazione che si potrebbe ottenere usando il comando uptime così:

Quindi questo è un indizio che il comando top è una raccolta di informazioni disponibili singolarmente da altri comandi, riuniti in un unico pacchetto di bontà impressionante. Ciò è molto conveniente.

Così siamo in grado di vedere che sono le 15:52:05 e che il computer è in piedi da 17 giorni. Ci sono due utenti in questo momento, il che è normale. Uno di questi è root, ma non si dovrebbe mai usarlo per le attività ordinarie. È una pratica insicura e pericolosa. Mentre siamo registrati come root, ogni software avviato sul sistema ha il livello di privilegio di root. Il modo migliore è di creare un utente ordinario che non abbia un così ben alto livello di privilegio e registrarsi come tale utente. In questo caso l'utente è kevin. A proposito, Ubuntu rende molto difficile fare qualcosa che sia diversa da questa procedura. Se necessitate di diritti più alti, usate il comando sudo per darvi privilegi temporanei.

L'ultima parte di questa riga è chiamata load. Questi tre numeri stanno fornendo il carico per i precedenti 1, 5 e 15 minuti. Ma cos'è il carico? È il numero medio di processi che sono eseguibili, o non si possono interrompere. Semplicemente, senza entrare troppo nel tecnico, è come viene occupata la CPU per la maggior parte del tempo. Ma il trucco è che non è regolato (normalizzato) per il numero di CPU. Ciò significa che un sistema a singola CPU con un carico di 1 viene caricato tutto il tempo. Ma sul mio sistema dual-core, non ho mai avuto 2, quindi sono a posto. Se si avesse un quad-core, il numero magico sarebbe 4 e cosi via.

Riga 2, Attività

Non c'è nulla di interessante da vedere qui. Quell'ultima categoria, zombie, può sembrare per lo meno interessante, ma in realtà non lo è. I processi zombie sono avvii che hanno terminato l'esecuzione e saranno presto chiusi.

Riga 3, CPU

Questa è meritevole di un'occhiata o due. L'ultima volta abbiamo osservato i processi in fondo all'output del comando top per vedere se qualcuno di loro stava monopolizzando la situazione. Su questa riga, anziché guardare al singolo processo, osserveremo l'intero quadro di ciò che sta succedendo. E qui non dobbiamo preoccuparci di quanti core abbiamo, questi numeri aggregano tutti i dati di tutti i core.

La prima statistica è %us, che in questo caso è 32.0%. Questa è la percentuale dei cicli di CPU impegnati dai processi dell'utente. Non significa necessariamente quelli che una persona ha avviato, possono essere processi lanciati da Apache, MySQL, ecc. Se questa percentuale è molto alta, può essere l'indicazione di un problema, poiché abbiamo altre richieste da considerare. Per esempio, la prossima statistica è %sy, che è la percentuale di cicli CPU impegnati dal kernel e da altri processi di sistema. Ovviamente dobbiamo avere a disposizione alcuni cicli per essi o non avremo un computer funzionante. La terza, %id, è la percentuale del tempo di inattività della CPU, più è elevata meglio è (entro limiti ragionevoli, dobbiamo di fatto usare il computer!). Fintanto che abbiamo una ragionevole disponibilità di tempo di inattività, non avremo verosimilmente problemi. Possiamo ricontrollarlo osservando la quarta statistica, %wa. È la percentuale di tempo di attesa di un processo per l'accesso alla CPU. In questo caso, .2% è buono. Non sarà piacevole vederlo troppo spesso a 0.0%, poiché, data la natura del calcolatore, i processi sono in competizione per il tempo di CPU, ma un elevato numero qui indicherebbe di sicuro un problema. Il resto delle statistiche si possono quasi ignorare, in quanto si occupano di questioni davvero oscure, ma si possono esaminare nella pagina di man per top.

Righe 4 e 5, Memoria e Area di Swap

Queste due righe è meglio trattarle congiuntamente, poiché è necessario combinare queste informazioni per raccontare una storia completa. Quello che dobbiamo sapere è quanta memoria è stata usata e quanta è disponibile, in ogni momento. È importante perché la carenza di RAM è la causa più comune di un computer lento e pigro. A volte può sembrare un problema completamente diverso, questo perché è importante osservare i dati reali. Per esempio, se notiamo che il disco rigido è costantemente 'rumoroso' (noto come thrashing) possiamo pensare di avere un problema di I/O al disco stesso, ma in realtà ciò è più comunemente causato da una mancanza di RAM. Quando non c'è abbastanza RAM per contenere tutto il codice dei programmi e i dati attualmente in uso, alcuni di essi vengono copiati sul disco rigido (detto paging) per liberare spazio per altro codice e dati. Lo spazio in cui tali dati sono copiati è chiamato area di swap. Per cui quando il disco rigido è costantemente rumoroso generalmente significa che il codice e i dati sono continuamente scritti e letti da e per l'area di swap e ulteriore RAM potrebbe eliminare il problema.

Ora, una delle cose che dobbiamo capire per interpretare questi dati è che scrivere sul disco rigido e leggere dal medesimo è approssimativamente più lento di 4 mila milioni di volte rispetto allo scrivere e leggere sulla RAM. Quindi vogliamo minimizzare l'uso dell'area di swap per motivi prestazionali. Ma proprio perché la RAM è così tanto più veloce del disco rigido, il sistema operativo preferisce usarla ogni volta che è possibile. Un modo di accelerare le cose è di mantenere il codice in memoria finché non si chiude il programma. Dopotutto, possiamo riaprirlo, e rimuoverlo dalla RAM lo accelererebbe molto. Quindi il sistema operativo immagazzina nella RAM molto codice che non è effettivamente usato in maniera attiva. A causa di ciò, il resoconto sulla RAM utilizzata sarà simile a quando è sul punto di esaurirsi, anche se potrebbe non essere questo il caso. Dobbiamo osservare tutti i dati per valutarlo.

In questo caso, abbiamo iniziato notando che la macchina ha 15.949.272k di RAM. In altre parole, 16GB, come sapevo perché era quella che ci avevo installato. E il numero successivo dice che praticamente tutti i 16GB sono stati utilizzati. Questo è un problema? Non proprio. Se osserviamo la seconda riga, vediamo che ci sono 6GB di spazio swap, ma sono a mala pena utilizzati (sto usando poco meno di 2MB di RAM). E l'ultimo numero racconta la storia. Dei miei 16GB di RAM, una buona metà, 8GB, è stata usata per depositarci il codice. Se volessi aprire un programma che era già in memoria, grande, il codice è già li e si aprirà velocemente. Se voglio aprire qualche altro programma, il sistema operativo cancellerà parte del codice depositato in memoria per liberare spazio, quindi non c'è problema.

Htop, l'alternativa

In realtà preferisco top, ma ad alcune persone piace di più htop e penso che vedrete il perché. Per alcune cose è più facile lavorarci, in particolare se si necessita di fare alcune operazioni inerenti ai processi. Notate però che su molti sistemi non lo si trova già installato, per cui lo si deve prima installare. Su macchine Ubuntu, si installa con

sudo apt-get install htop

Innanzitutto, si può notare che presenta quasi gli stessi dati sui singoli processi del comando top. I processi, per scelta predefinita, sono sempre elencati in ordine di utilizzo della CPU, si può ancora vedere l'ID del processo, gli utenti, le percentuali di utilizzo della CPU e della memoria, proprio come prima. Possiamo vedere il comando che ha lanciato il processo, invece del solo nome del programma. Diversamente da top, htop permette lo scorrimento orizzontale usando i tasti freccia.

Su htop, abbiamo una interessante aggiunta, che è un visualizzatore grafico separato sull'utilizzo della CPU, per ciascuna di esse o per i core che si hanno, in questo caso 1 e 2 poiché si tratta di una macchina dual-core. E possiamo vedere l'utilizzo della memoria e dell'area di swap in una maniera che potremmo trovare facile da leggere. Tempo di funzionamento, carichi e attività sono mostrati in alto a destra.

Il vero vantaggio di htop si ha quando si vuole far qualcosa su uno o più dei propri processi. Basta semplicemente usare i tasti freccia su e giù per evidenziare i processi e usare quindi uno dei tasti funzione mostrati sul fondo. Per esempio, se si evidenzia un processo e si preme poi F9 si ucciderà il processo. Premendo F7 (Nice-) si abbasserà il numero di precisione, incrementando così la priorità (si, non è intuitivo). E premendo F8 si ridurrà la priorità alzando il numero di precisione. Ma teniamo presente che per dare una priorità molto alta a un processo avremmo bisogno di accedere come root, magari utilizzando il comando

sudo htop

Personalmente, non ho molti motivi di pasticciarci, ma il peggio che potrebbe succedere è che potrebbe essere necessario riavviare il computer se davvero roviniamo tutto.

Altri tasti funzione ci permettono di cambiare rapidamente l'ordinamento, il campo su cui ordinare e così via.

Ricapitolando, penso che htop sia molto utile, ma tendo a usare molto più spesso top per due motivi. Il primo è che mi piacciono le più dettagliare informazioni che fornisce. Il secondo è che lo avrò disponibile su qualsiasi sistema davanti al quale probabilmente mi siedo, mentre htop necessiterà di essere installato e ciò vuol dire una connessione internet funzionante, che potrei anche non avere. Ma, in generale, questi due comandi fanno spesso le stesse cose e sono una cruciale aggiunta ai propri strumenti Linux.


== Note alla traduzione ==



= Revisione =

HOW-TO
Scritto da Kevin O'Brien

Usare Il Comando TOP

Uno dei grandi vantaggi nell'utilizzare Linux è che sono disponibili alcuni grandi strumenti che ci aiutano a capire cosa sta succedendo al nostro computer e a diagnosticare eventuali problemi. Uno dei più utili è il comando Top. Tratterò di alcune delle cose che si possono fare e forse menzionerò altresì uno o due ulteriori comandi.

Innanzitutto, tanto per tirarlo fuori, c'è un'alternativa chiamata htop e pianifico di trattarlo in un secondo momento. Però, generalmente, htop ha bisogno di essere installato prima di di poterlo usare, mentre top dovrebbe già essere presente sul proprio sistema, rendendolo un buon punto di partenza. L'uso del comando è semplice: basta aprire un terminale/console e digitare top. Il risultato sarà qualcosa simile all'immagine mostrata a destra.

Ci sono molte informazioni in questa schermata, quindi ci vorrà un po' di tempo per passare in rassegna tutte le opzioni. Quello che possiamo vedere subito è che elenca i processi in esecuzioni sul proprio computer e che mostra l'identificativo di ciascun processo, ecc. Inoltre sopra a questa lista è visibile ogni sorta di numero criptico. Tratteremo di ognuno di essi in questo articolo o nei successivi, ma per farlo dobbiamo andare avanti.

Uso della CPU

Per impostazione predefinita, top elenca i processi in ordine di quantità di CPU che ciascuno di questi utilizza, espressa come percentuale sul totale disponibile. È importante da sapere, poiché se la propria CPU arriva al limite, se ne vedranno degradare le prestazioni. Ciò si può manifestare con ritardi nella risposta a richieste tramite tastiera e/o mouse, scatti nella riproduzione audio o nel video, ecc. Sul mio desktop Kubuntu, ho un pannello laterale impostato per il monitoraggio sull'uso della CPU, della temperatura, della memoria e dell'area di Swap utilizzata e del traffico di rete, così da poter controllare tali funzioni critiche ed evitare che la situazione mi sfugga di mano. Ho visto situazioni in cui l'uso della CPU ha raggiunto il limite del 100% e li è rimasta (generalmente è un risultato di Flash, che non può morire troppo presto, ma questo è uno sfogo per un altro giorno). Quando ciò accade, il comando top mi permette di controllare velocemente e vedere qual'è l'applicazione problematica così posso terminarla.

Una cosa bella del comando top è che interagisce per tutto il tempo che lo si ha nel terminale. Quindi, possiamo uccidere un processo in maniera facile premendo semplicemente la k con un terminale aperto su cui top è in esecuzione. Ciò farà apparire un cursore lampeggiante al di sopra della lista dei processi. Basterà inserire l'ID del processo relativo all'applicazione che si comporta in modo anomalo ed è fatta.

Ora, se guardiamo la schermata di top in esecuzione sul mio computer, potremmo notare alcune cose. Ho detto che dà la percentuale di CPU utilizzata rispetto al totale. E se guardiamo attentamente potremmo osservare che la somma delle percentuali supera il 100%. Come può essere, vi chiederete? Bene, la risposta è che la si sta guardando come percentuale del core sul quale il processo è in esecuzione. Poiché il computer è una macchina dual-core, ha due processori e può distribuire i processi individuali su qualunque core desidera. Così avrei potuto teoricamente vedere fino al 200% se avessi sommato i numeri qui di seguito (anche se sarebbe un male perché indicherebbe che siamo al limite). Se avessi un quad-core, potrei avere fino al 400%, ecc.

Priorità e precisione

L'idea di precisione è di determinare quali processi dovrebbero ottenere altri incentivi quando sono in esecuzione e quali dovrebbero essere messi in background. In altre parole, di impostare alcune priorità di accesso alla CPU. Questo avviene utilizzando un numero di precisione, che appare nella colonna NI. Nella schermata possiamo vedere che tutti i processi sono in esecuzione con numero di precisione zero. Ciò significa che sono in esecuzione con la priorità predefinita, che non è stata alterata in alcun modo. I numeri di precisione vanno da -20 a +19, con -20 come priorità più alta. Ho detto che 0 è la scelta predefinita, ma possiamo verificarlo sul sistema eseguendo il comando nice senza nessun argomento. Ciò che restituisce è il valore predefinito del numero di precisione. Per il momento mi fermo qui con questo argomento, ma se volete saperne di più c'è una buona pagina web presso http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-103-6/. Questo articolo spiegherà come poter cambiare il livello del numero di precisione per alcuni processi, se si desidera farlo.

Memoria

Nella schermata, vicino alla colonna relativa all'uso della CPU c'è quella della memoria utilizzata, sempre espressa come percentuale del totale disponibile. In questo caso, accade che il processo che sta utilizzando maggiore CPU è anche quello che sta utilizzando più memoria, il che non è inusuale. Ma se vogliamo vedere i processi allineati per ordine di memoria consumata? Bene, come ho detto sopra, il comando top è interattivo. Per cambiare l'ordinamento basta premere la lettera maiuscola O mentre il comando è in esecuzione in un terminale. Questo porterà a una utilissima schermata di opzioni di ordinamento (mostrata sotto).

Con questa schermata aperta possiamo premere la lettera minuscola n, dare quindi invio e ottenere l'elenco di ordine di percentuale di memoria utilizzata. Oppure possiamo ordinarlo per altri modi, se necessario.

Di nuovo, è utile se notiamo che stiamo per esaurire la memoria e dobbiamo sapere cosa sta succedendo. Se un processo sta inaspettatamente utilizzando molta memoria, sarebbe sicuramente un'indicazione. Questo non implica che si ha una qualche idea di cosa sia il normale in queste situazioni. Il modo migliore di dare un senso a ciò è di controllare periodicamente e osservare cosa sta succedendo. Nel mio caso, ho portato la mia macchina a 16GB di RAM, così da non aspettarmi di vedere, nella maggior parte dei casi, percentuali di utilizzo molto alte. Per esempio, giusto ora ho i mio pannello inferiore pieno di icone di programmi aperti (al momento sono 18) e un veloce controllo dell'output di top mostra che sto utilizzando il 35-40% del totale della memoria.

Nella schermata, si vede un divoratore di memoria, ma ciò, di fatto, è previsto. Ho VirtualBox che esegue una macchina virtuale, configurata per usare 4GB di RAM (più altre risorse, ovviamente). Quindi, in questo caso, vedevo ciò che mi aspettavo di vedere. Ma se vedevo Firefox che utilizzava troppa memoria, avrei saputo che c'era un problema e l'avrei prontamente chiuso.

q per Quit

Se si ha top avviato nel proprio terminale, si potrebbe voler sapere come uscirne ed è semplice, basta premere la lettera q (per Quit) e si ritornerà al prompt del terminale. Si possono ottenere ulteriori informazioni in questi due modi: il metodo stile vecchia scuola è di digitare 'man top' nel terminale, ma il nuovo metodo, migliorato, è di digitare 'info top'. Tuttavia penso che otterrete lo stesso risultato con entrambi i modi. Il punto è che si tratta di un comando fertile con molte opzioni.

Interpretazione dei Dati di Sistema

Abbiamo visto alcuni concetti base del comando top e ci siamo concentrati nell'esaminare la lista dei processi per individuare e correggere eventuali errori. Questa è ancora una cosa molto utile, naturalmente, ma nell'output ci sono anche molti dati di sistema utili. Riprendiamo la schermata usata l'ultima volta per mostrare il risultato di questo comando (mostrata sotto).

Ora vogliamo concentrarci su quei numeri in cima che stanno rappresentando alcuni dati di sistema molto utili. Quindi partiamo dall'alto (letteralmente):

Riga 1, la riga in cima

Sulla prima riga (sopra) abbiamo il tempo di funzionamento. Effettivamente, questa è un informazione che si potrebbe ottenere usando il comando uptime così:

Quindi questo è un indizio che il comando top è una raccolta di informazioni disponibili singolarmente da altri comandi, riuniti in un unico pacchetto di bontà impressionante. Ciò è molto conveniente.

Così siamo in grado di vedere che sono le 15:52:05 e che il computer è in piedi da 17 giorni. Ci sono due utenti in questo momento, il che è normale. Uno di questi è root, ma non si dovrebbe mai usarlo per le attività ordinarie. È una pratica insicura e pericolosa. Mentre siamo registrati come root, ogni software avviato sul sistema ha il livello di privilegio di root. Il modo migliore è di creare un utente ordinario che non abbia un così ben alto livello di privilegio e registrarsi come tale utente. In questo caso l'utente è kevin. A proposito, Ubuntu rende molto difficile fare qualcosa che sia diversa da questa procedura. Se necessitate di diritti più alti, usate il comando sudo per darvi privilegi temporanei.

L'ultima parte di questa riga è chiamata load. Questi tre numeri stanno fornendo il carico per i precedenti 1, 5 e 15 minuti. Ma cos'è il carico? È il numero medio di processi che sono eseguibili, o non si possono interrompere. Semplicemente, senza entrare troppo nel tecnico, è come viene occupata la CPU per la maggior parte del tempo. Ma il trucco è che non è regolato (normalizzato) per il numero di CPU. Ciò significa che un sistema a singola CPU con un carico di 1 viene caricato tutto il tempo. Ma sul mio sistema dual-core, non ho mai avuto 2, quindi sono a posto. Se si avesse un quad-core, il numero magico sarebbe 4 e cosi via.

Riga 2, Attività

Non c'è nulla di interessante da vedere qui. Quell'ultima categoria, zombie, può sembrare per lo meno interessante, ma in realtà non lo è. I processi zombie sono avvii che hanno terminato l'esecuzione e saranno presto chiusi.

Riga 3, CPU

Questa è meritevole di un'occhiata o due. L'ultima volta abbiamo osservato i processi in fondo all'output del comando top per vedere se qualcuno di loro stava monopolizzando la situazione. Su questa riga, anziché guardare al singolo processo, osserveremo l'intero quadro di ciò che sta succedendo. E qui non dobbiamo preoccuparci di quanti core abbiamo, questi numeri aggregano tutti i dati di tutti i core.

La prima statistica è %us, che in questo caso è 32.0%. Questa è la percentuale dei cicli di CPU impegnati dai processi dell'utente. Non significa necessariamente quelli che una persona ha avviato, possono essere processi lanciati da Apache, MySQL, ecc. Se questa percentuale è molto alta, può essere l'indicazione di un problema, poiché abbiamo altre richieste da considerare. Per esempio, la prossima statistica è %sy, che è la percentuale di cicli CPU impegnati dal kernel e da altri processi di sistema. Ovviamente dobbiamo avere a disposizione alcuni cicli per essi o non avremo un computer funzionante. La terza, %id, è la percentuale del tempo di inattività della CPU, più è elevata meglio è (entro limiti ragionevoli, dobbiamo di fatto usare il computer!). Fintanto che abbiamo una ragionevole disponibilità di tempo di inattività, non avremo verosimilmente problemi. Possiamo ricontrollarlo osservando la quarta statistica, %wa. È la percentuale di tempo di attesa di un processo per l'accesso alla CPU. In questo caso, .2% è buono. Non sarà piacevole vederlo troppo spesso a 0.0%, poiché, data la natura del calcolatore, i processi sono in competizione per il tempo di CPU, ma un elevato numero qui indicherebbe di sicuro un problema. Il resto delle statistiche si possono quasi ignorare, in quanto si occupano di questioni davvero oscure, ma si possono esaminare nella pagina di man per top.

Righe 4 e 5, Memoria e Area di Swap

Queste due righe è meglio trattarle congiuntamente, poiché è necessario combinare queste informazioni per raccontare una storia completa. Quello che dobbiamo sapere è quanta memoria è stata usata e quanta è disponibile, in ogni momento. È importante perché la carenza di RAM è la causa più comune di un computer lento e pigro. A volte può sembrare un problema completamente diverso, questo perché è importante osservare i dati reali. Per esempio, se notiamo che il disco rigido è costantemente 'rumoroso' (noto come thrashing) possiamo pensare di avere un problema di I/O al disco stesso, ma in realtà ciò è più comunemente causato da una mancanza di RAM. Quando non c'è abbastanza RAM per contenere tutto il codice dei programmi e i dati attualmente in uso, alcuni di essi vengono copiati sul disco rigido (detto paging) per liberare spazio per altro codice e dati. Lo spazio in cui tali dati sono copiati è chiamato area di swap. Per cui quando il disco rigido è costantemente rumoroso generalmente significa che il codice e i dati sono continuamente scritti e letti da e per l'area di swap e ulteriore RAM potrebbe eliminare il problema.

Ora, una delle cose che dobbiamo capire per interpretare questi dati è che scrivere sul disco rigido e leggere dal medesimo è approssimativamente più lento di 4 mila milioni di volte rispetto allo scrivere e leggere sulla RAM. Quindi vogliamo minimizzare l'uso dell'area di swap per motivi prestazionali. Ma proprio perché la RAM è così tanto più veloce del disco rigido, il sistema operativo preferisce usarla ogni volta che è possibile. Un modo di accelerare le cose è di mantenere il codice in memoria finché non si chiude il programma. Dopotutto, possiamo riaprirlo, e rimuoverlo dalla RAM lo accelererebbe molto. Quindi il sistema operativo immagazzina nella RAM molto codice che non è effettivamente usato in maniera attiva. A causa di ciò, il resoconto sulla RAM utilizzata sarà simile a quando è sul punto di esaurirsi, anche se potrebbe non essere questo il caso. Dobbiamo osservare tutti i dati per valutarlo.

In questo caso, abbiamo iniziato notando che la macchina ha 15.949.272k di RAM. In altre parole, 16GB, come sapevo perché era quella che ci avevo installato. E il numero successivo dice che praticamente tutti i 16GB sono stati utilizzati. Questo è un problema? Non proprio. Se osserviamo la seconda riga, vediamo che ci sono 6GB di spazio swap, ma sono a mala pena utilizzati (sto usando poco meno di 2MB di RAM). E l'ultimo numero racconta la storia. Dei miei 16GB di RAM, una buona metà, 8GB, è stata usata per depositarci il codice. Se volessi aprire un programma che era già in memoria, grande, il codice è già li e si aprirà velocemente. Se voglio aprire qualche altro programma, il sistema operativo cancellerà parte del codice depositato in memoria per liberare spazio, quindi non c'è problema.

Htop, l'alternativa

In realtà preferisco top, ma ad alcune persone piace di più htop e penso che vedrete il perché. Per alcune cose è più facile lavorarci, in particolare se si necessita di fare alcune operazioni inerenti ai processi. Notate però che su molti sistemi non lo si trova già installato, per cui lo si deve prima installare. Su macchine Ubuntu, si installa con

sudo apt-get install htop

Innanzitutto, si può notare che presenta quasi gli stessi dati sui singoli processi del comando top. I processi, per scelta predefinita, sono sempre elencati in ordine di utilizzo della CPU, si può ancora vedere l'ID del processo, gli utenti, le percentuali di utilizzo della CPU e della memoria, proprio come prima. Possiamo vedere il comando che ha lanciato il processo, invece del solo nome del programma. Diversamente da top, htop permette lo scorrimento orizzontale usando i tasti freccia.

Su htop, abbiamo una interessante aggiunta, che è un visualizzatore grafico separato sull'utilizzo della CPU, per ciascuna di esse o per i core che si hanno, in questo caso 1 e 2 poiché si tratta di una macchina dual-core. E possiamo vedere l'utilizzo della memoria e dell'area di swap in una maniera che potremmo trovare facile da leggere. Tempo di funzionamento, carichi e attività sono mostrati in alto a destra.

Il vero vantaggio di htop si ha quando si vuole far qualcosa su uno o più dei propri processi. Basta semplicemente usare i tasti freccia su e giù per evidenziare i processi e usare quindi uno dei tasti funzione mostrati sul fondo. Per esempio, se si evidenzia un processo e si preme poi F9 si ucciderà il processo. Premendo F7 (Nice-) si abbasserà il numero di precisione, incrementando così la priorità (si, non è intuitivo). E premendo F8 si ridurrà la priorità alzando il numero di precisione. Ma teniamo presente che per dare una priorità molto alta a un processo avremmo bisogno di accedere come root, magari utilizzando il comando

sudo htop

Personalmente, non ho molti motivi di pasticciarci, ma il peggio che potrebbe succedere è che potrebbe essere necessario riavviare il computer se davvero roviniamo tutto.

Altri tasti funzione ci permettono di cambiare rapidamente l'ordinamento, il campo su cui ordinare e così via.

Ricapitolando, penso che htop sia molto utile, ma tendo a usare molto più spesso top per due motivi. Il primo è che mi piacciono le più dettagliare informazioni che fornisce. Il secondo è che lo avrò disponibile su qualsiasi sistema davanti al quale probabilmente mi siedo, mentre htop necessiterà di essere installato e ciò vuol dire una connessione internet funzionante, che potrei anche non avere. Ma, in generale, questi due comandi fanno spesso le stesse cose e sono una cruciale aggiunta ai propri strumenti Linux.


== Note alla revisione ==



= Errata Corrige =

Traduzione italiana

HOW-TO Scritto da Kevin O'Brien

Usare Il Comando TOP

Uno dei grandi vantaggi nell'utilizzare Linux è che sono disponibili alcuni grandi strumenti che ci aiutano a capire cosa sta succedendo al nostro computer e a diagnosticare eventuali problemi. Uno dei più utili è il comando Top. Tratterò di alcune delle cose che si possono fare e forse menzionerò altresì uno o due ulteriori comandi.

Innanzitutto, tanto per tirarlo fuori, c'è un'alternativa chiamata htop e pianifico di trattarlo in un secondo momento. Però, generalmente, htop ha bisogno di essere installato prima di di poterlo usare, mentre top dovrebbe già essere presente sul proprio sistema, rendendolo un buon punto di partenza. L'uso del comando è semplice: basta aprire un terminale/console e digitare top. Il risultato sarà qualcosa simile all'immagine mostrata a destra.

Ci sono molte informazioni in questa schermata, quindi ci vorrà un po' di tempo per passare in rassegna tutte le opzioni. Quello che possiamo vedere subito è che elenca i processi in esecuzioni sul proprio computer e che mostra l'identificativo di ciascun processo, ecc. Inoltre sopra a questa lista è visibile ogni sorta di numero criptico. Tratteremo di ognuno di essi in questo articolo o nei successivi, ma per farlo dobbiamo andare avanti.

Uso della CPU

Per impostazione predefinita, top elenca i processi in ordine di quantità di CPU che ciascuno di questi utilizza, espressa come percentuale sul totale disponibile. È importante da sapere, poiché se la propria CPU arriva al limite, se ne vedranno degradare le prestazioni. Ciò si può manifestare con ritardi nella risposta a richieste tramite tastiera e/o mouse, scatti nella riproduzione audio o nel video, ecc. Sul mio desktop Kubuntu, ho un pannello laterale impostato per il monitoraggio sull'uso della CPU, della temperatura, della memoria e dell'area di Swap utilizzata e del traffico di rete, così da poter controllare tali funzioni critiche ed evitare che la situazione mi sfugga di mano. Ho visto situazioni in cui l'uso della CPU ha raggiunto il limite del 100% e li è rimasta (generalmente è un risultato di Flash, che non può morire troppo presto, ma questo è uno sfogo per un altro giorno). Quando ciò accade, il comando top mi permette di controllare velocemente e vedere qual'è l'applicazione problematica così posso terminarla.

Una cosa bella del comando top è che interagisce per tutto il tempo che lo si ha nel terminale. Quindi, possiamo uccidere un processo in maniera facile premendo semplicemente la k con un terminale aperto su cui top è in esecuzione. Ciò farà apparire un cursore lampeggiante al di sopra della lista dei processi. Basterà inserire l'ID del processo relativo all'applicazione che si comporta in modo anomalo ed è fatta.

Ora, se guardiamo la schermata di top in esecuzione sul mio computer, potremmo notare alcune cose. Ho detto che dà la percentuale di CPU utilizzata rispetto al totale. E se guardiamo attentamente potremmo osservare che la somma delle percentuali supera il 100%. Come può essere, vi chiederete? Bene, la risposta è che la si sta guardando come percentuale del core sul quale il processo è in esecuzione. Poiché il computer è una macchina dual-core, ha due processori e può distribuire i processi individuali su qualunque core desidera. Così avrei potuto teoricamente vedere fino al 200% se avessi sommato i numeri qui di seguito (anche se sarebbe un male perché indicherebbe che siamo al limite). Se avessi un quad-core, potrei avere fino al 400%, ecc.

Priorità e precisione

L'idea di precisione è di determinare quali processi dovrebbero ottenere altri incentivi quando sono in esecuzione e quali dovrebbero essere messi in background. In altre parole, di impostare alcune priorità di accesso alla CPU. Questo avviene utilizzando un numero di precisione, che appare nella colonna NI. Nella schermata possiamo vedere che tutti i processi sono in esecuzione con numero di precisione zero. Ciò significa che sono in esecuzione con la priorità predefinita, che non è stata alterata in alcun modo. I numeri di precisione vanno da -20 a +19, con -20 come priorità più alta. Ho detto che 0 è la scelta predefinita, ma possiamo verificarlo sul sistema eseguendo il comando nice senza nessun argomento. Ciò che restituisce è il valore predefinito del numero di precisione. Per il momento mi fermo qui con questo argomento, ma se volete saperne di più c'è una buona pagina web presso http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-103-6/. Questo articolo spiegherà come poter cambiare il livello del numero di precisione per alcuni processi, se si desidera farlo.

Memoria

Nella schermata, vicino alla colonna relativa all'uso della CPU c'è quella della memoria utilizzata, sempre espressa come percentuale del totale disponibile. In questo caso, accade che il processo che sta utilizzando maggiore CPU è anche quello che sta utilizzando più memoria, il che non è inusuale. Ma se vogliamo vedere i processi allineati per ordine di memoria consumata? Bene, come ho detto sopra, il comando top è interattivo. Per cambiare l'ordinamento basta premere la lettera maiuscola O mentre il comando è in esecuzione in un terminale. Questo porterà a una utilissima schermata di opzioni di ordinamento (mostrata sotto).

Con questa schermata aperta possiamo premere la lettera minuscola n, dare quindi invio e ottenere l'elenco di ordine di percentuale di memoria utilizzata. Oppure possiamo ordinarlo per altri modi, se necessario.

Di nuovo, è utile se notiamo che stiamo per esaurire la memoria e dobbiamo sapere cosa sta succedendo. Se un processo sta inaspettatamente utilizzando molta memoria, sarebbe sicuramente un'indicazione. Questo non implica che si ha una qualche idea di cosa sia il normale in queste situazioni. Il modo migliore di dare un senso a ciò è di controllare periodicamente e osservare cosa sta succedendo. Nel mio caso, ho portato la mia macchina a 16GB di RAM, così da non aspettarmi di vedere, nella maggior parte dei casi, percentuali di utilizzo molto alte. Per esempio, giusto ora ho i mio pannello inferiore pieno di icone di programmi aperti (al momento sono 18) e un veloce controllo dell'output di top mostra che sto utilizzando il 35-40% del totale della memoria.

Nella schermata, si vede un divoratore di memoria, ma ciò, di fatto, è previsto. Ho VirtualBox che esegue una macchina virtuale, configurata per usare 4GB di RAM (più altre risorse, ovviamente). Quindi, in questo caso, vedevo ciò che mi aspettavo di vedere. Ma se vedevo Firefox che utilizzava troppa memoria, avrei saputo che c'era un problema e l'avrei prontamente chiuso.

q per Quit

Se si ha top avviato nel proprio terminale, si potrebbe voler sapere come uscirne ed è semplice, basta premere la lettera q (per Quit) e si ritornerà al prompt del terminale. Si possono ottenere ulteriori informazioni in questi due modi: il metodo stile vecchia scuola è di digitare 'man top' nel terminale, ma il nuovo metodo, migliorato, è di digitare 'info top'. Tuttavia penso che otterrete lo stesso risultato con entrambi i modi. Il punto è che si tratta di un comando fertile con molte opzioni.

Interpretazione dei Dati di Sistema

Abbiamo visto alcuni concetti base del comando top e ci siamo concentrati nell'esaminare la lista dei processi per individuare e correggere eventuali errori. Questa è ancora una cosa molto utile, naturalmente, ma nell'output ci sono anche molti dati di sistema utili. Riprendiamo la schermata usata l'ultima volta per mostrare il risultato di questo comando (mostrata sotto).

Ora vogliamo concentrarci su quei numeri in cima che stanno rappresentando alcuni dati di sistema molto utili. Quindi partiamo dall'alto (letteralmente):

Riga 1, la riga in cima

Sulla prima riga (sopra) abbiamo il tempo di funzionamento. Effettivamente, questa è un informazione che si potrebbe ottenere usando il comando uptime così:

Quindi questo è un indizio che il comando top è una raccolta di informazioni disponibili singolarmente da altri comandi, riuniti in un unico pacchetto di bontà impressionante. Ciò è molto conveniente.

Così siamo in grado di vedere che sono le 15:52:05 e che il computer è in piedi da 17 giorni. Ci sono due utenti in questo momento, il che è normale. Uno di questi è root, ma non si dovrebbe mai usarlo per le attività ordinarie. È una pratica insicura e pericolosa. Mentre siamo registrati come root, ogni software avviato sul sistema ha il livello di privilegio di root. Il modo migliore è di creare un utente ordinario che non abbia un così ben alto livello di privilegio e registrarsi come tale utente. In questo caso l'utente è kevin. A proposito, Ubuntu rende molto difficile fare qualcosa che sia diversa da questa procedura. Se necessitate di diritti più alti, usate il comando sudo per darvi privilegi temporanei.

L'ultima parte di questa riga è chiamata load. Questi tre numeri stanno fornendo il carico per i precedenti 1, 5 e 15 minuti. Ma cos'è il carico? È il numero medio di processi che sono eseguibili, o non si possono interrompere. Semplicemente, senza entrare troppo nel tecnico, è come viene occupata la CPU per la maggior parte del tempo. Ma il trucco è che non è regolato (normalizzato) per il numero di CPU. Ciò significa che un sistema a singola CPU con un carico di 1 viene caricato tutto il tempo. Ma sul mio sistema dual-core, non ho mai avuto 2, quindi sono a posto. Se si avesse un quad-core, il numero magico sarebbe 4 e cosi via.

Riga 2, Attività

Non c'è nulla di interessante da vedere qui. Quell'ultima categoria, zombie, può sembrare per lo meno interessante, ma in realtà non lo è. I processi zombie sono avvii che hanno terminato l'esecuzione e saranno presto chiusi.

Riga 3, CPU

Questa è meritevole di un'occhiata o due. L'ultima volta abbiamo osservato i processi in fondo all'output del comando top per vedere se qualcuno di loro stava monopolizzando la situazione. Su questa riga, anziché guardare al singolo processo, osserveremo l'intero quadro di ciò che sta succedendo. E qui non dobbiamo preoccuparci di quanti core abbiamo, questi numeri aggregano tutti i dati di tutti i core.

La prima statistica è %us, che in questo caso è 32.0%. Questa è la percentuale dei cicli di CPU impegnati dai processi dell'utente. Non significa necessariamente quelli che una persona ha avviato, possono essere processi lanciati da Apache, MySQL, ecc. Se questa percentuale è molto alta, può essere l'indicazione di un problema, poiché abbiamo altre richieste da considerare. Per esempio, la prossima statistica è %sy, che è la percentuale di cicli CPU impegnati dal kernel e da altri processi di sistema. Ovviamente dobbiamo avere a disposizione alcuni cicli per essi o non avremo un computer funzionante. La terza, %id, è la percentuale del tempo di inattività della CPU, più è elevata meglio è (entro limiti ragionevoli, dobbiamo di fatto usare il computer!). Fintanto che abbiamo una ragionevole disponibilità di tempo di inattività, non avremo verosimilmente problemi. Possiamo ricontrollarlo osservando la quarta statistica, %wa. È la percentuale di tempo di attesa di un processo per l'accesso alla CPU. In questo caso, .2% è buono. Non sarà piacevole vederlo troppo spesso a 0.0%, poiché, data la natura del calcolatore, i processi sono in competizione per il tempo di CPU, ma un elevato numero qui indicherebbe di sicuro un problema. Il resto delle statistiche si possono quasi ignorare, in quanto si occupano di questioni davvero oscure, ma si possono esaminare nella pagina di man per top.

Righe 4 e 5, Memoria e Area di Swap

Queste due righe è meglio trattarle congiuntamente, poiché è necessario combinare queste informazioni per raccontare una storia completa. Quello che dobbiamo sapere è quanta memoria è stata usata e quanta è disponibile, in ogni momento. È importante perché la carenza di RAM è la causa più comune di un computer lento e pigro. A volte può sembrare un problema completamente diverso, questo perché è importante osservare i dati reali. Per esempio, se notiamo che il disco rigido è costantemente 'rumoroso' (noto come thrashing) possiamo pensare di avere un problema di I/O al disco stesso, ma in realtà ciò è più comunemente causato da una mancanza di RAM. Quando non c'è abbastanza RAM per contenere tutto il codice dei programmi e i dati attualmente in uso, alcuni di essi vengono copiati sul disco rigido (detto paging) per liberare spazio per altro codice e dati. Lo spazio in cui tali dati sono copiati è chiamato area di swap. Per cui quando il disco rigido è costantemente rumoroso generalmente significa che il codice e i dati sono continuamente scritti e letti da e per l'area di swap e ulteriore RAM potrebbe eliminare il problema.

Ora, una delle cose che dobbiamo capire per interpretare questi dati è che scrivere sul disco rigido e leggere dal medesimo è approssimativamente più lento di 4 mila milioni di volte rispetto allo scrivere e leggere sulla RAM. Quindi vogliamo minimizzare l'uso dell'area di swap per motivi prestazionali. Ma proprio perché la RAM è così tanto più veloce del disco rigido, il sistema operativo preferisce usarla ogni volta che è possibile. Un modo di accelerare le cose è di mantenere il codice in memoria finché non si chiude il programma. Dopotutto, possiamo riaprirlo, e rimuoverlo dalla RAM lo accelererebbe molto. Quindi il sistema operativo immagazzina nella RAM molto codice che non è effettivamente usato in maniera attiva. A causa di ciò, il resoconto sulla RAM utilizzata sarà simile a quando è sul punto di esaurirsi, anche se potrebbe non essere questo il caso. Dobbiamo osservare tutti i dati per valutarlo.

In questo caso, abbiamo iniziato notando che la macchina ha 15.949.272k di RAM. In altre parole, 16GB, come sapevo perché era quella che ci avevo installato. E il numero successivo dice che praticamente tutti i 16GB sono stati utilizzati. Questo è un problema? Non proprio. Se osserviamo la seconda riga, vediamo che ci sono 6GB di spazio swap, ma sono a mala pena utilizzati (sto usando poco meno di 2MB di RAM). E l'ultimo numero racconta la storia. Dei miei 16GB di RAM, una buona metà, 8GB, è stata usata per depositarci il codice. Se volessi aprire un programma che era già in memoria, grande, il codice è già li e si aprirà velocemente. Se voglio aprire qualche altro programma, il sistema operativo cancellerà parte del codice depositato in memoria per liberare spazio, quindi non c'è problema.

Htop, l'alternativa

In realtà preferisco top, ma ad alcune persone piace di più htop e penso che vedrete il perché. Per alcune cose è più facile lavorarci, in particolare se si necessita di fare alcune operazioni inerenti ai processi. Notate però che su molti sistemi non lo si trova già installato, per cui lo si deve prima installare. Su macchine Ubuntu, si installa con

sudo apt-get install htop

Innanzitutto, si può notare che presenta quasi gli stessi dati sui singoli processi del comando top. I processi, per scelta predefinita, sono sempre elencati in ordine di utilizzo della CPU, si può ancora vedere l'ID del processo, gli utenti, le percentuali di utilizzo della CPU e della memoria, proprio come prima. Possiamo vedere il comando che ha lanciato il processo, invece del solo nome del programma. Diversamente da top, htop permette lo scorrimento orizzontale usando i tasti freccia.

Su htop, abbiamo una interessante aggiunta, che è un visualizzatore grafico separato sull'utilizzo della CPU, per ciascuna di esse o per i core che si hanno, in questo caso 1 e 2 poiché si tratta di una macchina dual-core. E possiamo vedere l'utilizzo della memoria e dell'area di swap in una maniera che potremmo trovare facile da leggere. Tempo di funzionamento, carichi e attività sono mostrati in alto a destra.

Il vero vantaggio di htop si ha quando si vuole far qualcosa su uno o più dei propri processi. Basta semplicemente usare i tasti freccia su e giù per evidenziare i processi e usare quindi uno dei tasti funzione mostrati sul fondo. Per esempio, se si evidenzia un processo e si preme poi F9 si ucciderà il processo. Premendo F7 (Nice-) si abbasserà il numero di precisione, incrementando così la priorità (si, non è intuitivo). E premendo F8 si ridurrà la priorità alzando il numero di precisione. Ma teniamo presente che per dare una priorità molto alta a un processo avremmo bisogno di accedere come root, magari utilizzando il comando

sudo htop

Personalmente, non ho molti motivi di pasticciarci, ma il peggio che potrebbe succedere è che potrebbe essere necessario riavviare il computer se davvero roviniamo tutto.

Altri tasti funzione ci permettono di cambiare rapidamente l'ordinamento, il campo su cui ordinare e così via.

Ricapitolando, penso che htop sia molto utile, ma tendo a usare molto più spesso top per due motivi. Il primo è che mi piacciono le più dettagliare informazioni che fornisce. Il secondo è che lo avrò disponibile su qualsiasi sistema davanti al quale probabilmente mi siedo, mentre htop necessiterà di essere installato e ciò vuol dire una connessione internet funzionante, che potrei anche non avere. Ma, in generale, questi due comandi fanno spesso le stesse cose e sono una cruciale aggiunta ai propri strumenti Linux.

Note alla traduzione

Revisione

HOW-TO Scritto da Kevin O'Brien

Usare Il Comando TOP

Uno dei grandi vantaggi nell'utilizzare Linux è che sono disponibili alcuni grandi strumenti che ci aiutano a capire cosa sta succedendo al nostro computer e a diagnosticare eventuali problemi. Uno dei più utili è il comando Top. Tratterò di alcune delle cose che si possono fare e forse menzionerò altresì uno o due ulteriori comandi.

Innanzitutto, tanto per tirarlo fuori, c'è un'alternativa chiamata htop e pianifico di trattarlo in un secondo momento. Però, generalmente, htop ha bisogno di essere installato prima di di poterlo usare, mentre top dovrebbe già essere presente sul proprio sistema, rendendolo un buon punto di partenza. L'uso del comando è semplice: basta aprire un terminale/console e digitare top. Il risultato sarà qualcosa simile all'immagine mostrata a destra.

Ci sono molte informazioni in questa schermata, quindi ci vorrà un po' di tempo per passare in rassegna tutte le opzioni. Quello che possiamo vedere subito è che elenca i processi in esecuzioni sul proprio computer e che mostra l'identificativo di ciascun processo, ecc. Inoltre sopra a questa lista è visibile ogni sorta di numero criptico. Tratteremo di ognuno di essi in questo articolo o nei successivi, ma per farlo dobbiamo andare avanti.

Uso della CPU

Per impostazione predefinita, top elenca i processi in ordine di quantità di CPU che ciascuno di questi utilizza, espressa come percentuale sul totale disponibile. È importante da sapere, poiché se la propria CPU arriva al limite, se ne vedranno degradare le prestazioni. Ciò si può manifestare con ritardi nella risposta a richieste tramite tastiera e/o mouse, scatti nella riproduzione audio o nel video, ecc. Sul mio desktop Kubuntu, ho un pannello laterale impostato per il monitoraggio sull'uso della CPU, della temperatura, della memoria e dell'area di Swap utilizzata e del traffico di rete, così da poter controllare tali funzioni critiche ed evitare che la situazione mi sfugga di mano. Ho visto situazioni in cui l'uso della CPU ha raggiunto il limite del 100% e li è rimasta (generalmente è un risultato di Flash, che non può morire troppo presto, ma questo è uno sfogo per un altro giorno). Quando ciò accade, il comando top mi permette di controllare velocemente e vedere qual'è l'applicazione problematica così posso terminarla.

Una cosa bella del comando top è che interagisce per tutto il tempo che lo si ha nel terminale. Quindi, possiamo uccidere un processo in maniera facile premendo semplicemente la k con un terminale aperto su cui top è in esecuzione. Ciò farà apparire un cursore lampeggiante al di sopra della lista dei processi. Basterà inserire l'ID del processo relativo all'applicazione che si comporta in modo anomalo ed è fatta.

Ora, se guardiamo la schermata di top in esecuzione sul mio computer, potremmo notare alcune cose. Ho detto che dà la percentuale di CPU utilizzata rispetto al totale. E se guardiamo attentamente potremmo osservare che la somma delle percentuali supera il 100%. Come può essere, vi chiederete? Bene, la risposta è che la si sta guardando come percentuale del core sul quale il processo è in esecuzione. Poiché il computer è una macchina dual-core, ha due processori e può distribuire i processi individuali su qualunque core desidera. Così avrei potuto teoricamente vedere fino al 200% se avessi sommato i numeri qui di seguito (anche se sarebbe un male perché indicherebbe che siamo al limite). Se avessi un quad-core, potrei avere fino al 400%, ecc.

Priorità e precisione

L'idea di precisione è di determinare quali processi dovrebbero ottenere altri incentivi quando sono in esecuzione e quali dovrebbero essere messi in background. In altre parole, di impostare alcune priorità di accesso alla CPU. Questo avviene utilizzando un numero di precisione, che appare nella colonna NI. Nella schermata possiamo vedere che tutti i processi sono in esecuzione con numero di precisione zero. Ciò significa che sono in esecuzione con la priorità predefinita, che non è stata alterata in alcun modo. I numeri di precisione vanno da -20 a +19, con -20 come priorità più alta. Ho detto che 0 è la scelta predefinita, ma possiamo verificarlo sul sistema eseguendo il comando nice senza nessun argomento. Ciò che restituisce è il valore predefinito del numero di precisione. Per il momento mi fermo qui con questo argomento, ma se volete saperne di più c'è una buona pagina web presso http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-103-6/. Questo articolo spiegherà come poter cambiare il livello del numero di precisione per alcuni processi, se si desidera farlo.

Memoria

Nella schermata, vicino alla colonna relativa all'uso della CPU c'è quella della memoria utilizzata, sempre espressa come percentuale del totale disponibile. In questo caso, accade che il processo che sta utilizzando maggiore CPU è anche quello che sta utilizzando più memoria, il che non è inusuale. Ma se vogliamo vedere i processi allineati per ordine di memoria consumata? Bene, come ho detto sopra, il comando top è interattivo. Per cambiare l'ordinamento basta premere la lettera maiuscola O mentre il comando è in esecuzione in un terminale. Questo porterà a una utilissima schermata di opzioni di ordinamento (mostrata sotto).

Con questa schermata aperta possiamo premere la lettera minuscola n, dare quindi invio e ottenere l'elenco di ordine di percentuale di memoria utilizzata. Oppure possiamo ordinarlo per altri modi, se necessario.

Di nuovo, è utile se notiamo che stiamo per esaurire la memoria e dobbiamo sapere cosa sta succedendo. Se un processo sta inaspettatamente utilizzando molta memoria, sarebbe sicuramente un'indicazione. Questo non implica che si ha una qualche idea di cosa sia il normale in queste situazioni. Il modo migliore di dare un senso a ciò è di controllare periodicamente e osservare cosa sta succedendo. Nel mio caso, ho portato la mia macchina a 16GB di RAM, così da non aspettarmi di vedere, nella maggior parte dei casi, percentuali di utilizzo molto alte. Per esempio, giusto ora ho i mio pannello inferiore pieno di icone di programmi aperti (al momento sono 18) e un veloce controllo dell'output di top mostra che sto utilizzando il 35-40% del totale della memoria.

Nella schermata, si vede un divoratore di memoria, ma ciò, di fatto, è previsto. Ho VirtualBox che esegue una macchina virtuale, configurata per usare 4GB di RAM (più altre risorse, ovviamente). Quindi, in questo caso, vedevo ciò che mi aspettavo di vedere. Ma se vedevo Firefox che utilizzava troppa memoria, avrei saputo che c'era un problema e l'avrei prontamente chiuso.

q per Quit

Se si ha top avviato nel proprio terminale, si potrebbe voler sapere come uscirne ed è semplice, basta premere la lettera q (per Quit) e si ritornerà al prompt del terminale. Si possono ottenere ulteriori informazioni in questi due modi: il metodo stile vecchia scuola è di digitare 'man top' nel terminale, ma il nuovo metodo, migliorato, è di digitare 'info top'. Tuttavia penso che otterrete lo stesso risultato con entrambi i modi. Il punto è che si tratta di un comando fertile con molte opzioni.

Interpretazione dei Dati di Sistema

Abbiamo visto alcuni concetti base del comando top e ci siamo concentrati nell'esaminare la lista dei processi per individuare e correggere eventuali errori. Questa è ancora una cosa molto utile, naturalmente, ma nell'output ci sono anche molti dati di sistema utili. Riprendiamo la schermata usata l'ultima volta per mostrare il risultato di questo comando (mostrata sotto).

Ora vogliamo concentrarci su quei numeri in cima che stanno rappresentando alcuni dati di sistema molto utili. Quindi partiamo dall'alto (letteralmente):

Riga 1, la riga in cima

Sulla prima riga (sopra) abbiamo il tempo di funzionamento. Effettivamente, questa è un informazione che si potrebbe ottenere usando il comando uptime così:

Quindi questo è un indizio che il comando top è una raccolta di informazioni disponibili singolarmente da altri comandi, riuniti in un unico pacchetto di bontà impressionante. Ciò è molto conveniente.

Così siamo in grado di vedere che sono le 15:52:05 e che il computer è in piedi da 17 giorni. Ci sono due utenti in questo momento, il che è normale. Uno di questi è root, ma non si dovrebbe mai usarlo per le attività ordinarie. È una pratica insicura e pericolosa. Mentre siamo registrati come root, ogni software avviato sul sistema ha il livello di privilegio di root. Il modo migliore è di creare un utente ordinario che non abbia un così ben alto livello di privilegio e registrarsi come tale utente. In questo caso l'utente è kevin. A proposito, Ubuntu rende molto difficile fare qualcosa che sia diversa da questa procedura. Se necessitate di diritti più alti, usate il comando sudo per darvi privilegi temporanei.

L'ultima parte di questa riga è chiamata load. Questi tre numeri stanno fornendo il carico per i precedenti 1, 5 e 15 minuti. Ma cos'è il carico? È il numero medio di processi che sono eseguibili, o non si possono interrompere. Semplicemente, senza entrare troppo nel tecnico, è come viene occupata la CPU per la maggior parte del tempo. Ma il trucco è che non è regolato (normalizzato) per il numero di CPU. Ciò significa che un sistema a singola CPU con un carico di 1 viene caricato tutto il tempo. Ma sul mio sistema dual-core, non ho mai avuto 2, quindi sono a posto. Se si avesse un quad-core, il numero magico sarebbe 4 e cosi via.

Riga 2, Attività

Non c'è nulla di interessante da vedere qui. Quell'ultima categoria, zombie, può sembrare per lo meno interessante, ma in realtà non lo è. I processi zombie sono avvii che hanno terminato l'esecuzione e saranno presto chiusi.

Riga 3, CPU

Questa è meritevole di un'occhiata o due. L'ultima volta abbiamo osservato i processi in fondo all'output del comando top per vedere se qualcuno di loro stava monopolizzando la situazione. Su questa riga, anziché guardare al singolo processo, osserveremo l'intero quadro di ciò che sta succedendo. E qui non dobbiamo preoccuparci di quanti core abbiamo, questi numeri aggregano tutti i dati di tutti i core.

La prima statistica è %us, che in questo caso è 32.0%. Questa è la percentuale dei cicli di CPU impegnati dai processi dell'utente. Non significa necessariamente quelli che una persona ha avviato, possono essere processi lanciati da Apache, MySQL, ecc. Se questa percentuale è molto alta, può essere l'indicazione di un problema, poiché abbiamo altre richieste da considerare. Per esempio, la prossima statistica è %sy, che è la percentuale di cicli CPU impegnati dal kernel e da altri processi di sistema. Ovviamente dobbiamo avere a disposizione alcuni cicli per essi o non avremo un computer funzionante. La terza, %id, è la percentuale del tempo di inattività della CPU, più è elevata meglio è (entro limiti ragionevoli, dobbiamo di fatto usare il computer!). Fintanto che abbiamo una ragionevole disponibilità di tempo di inattività, non avremo verosimilmente problemi. Possiamo ricontrollarlo osservando la quarta statistica, %wa. È la percentuale di tempo di attesa di un processo per l'accesso alla CPU. In questo caso, .2% è buono. Non sarà piacevole vederlo troppo spesso a 0.0%, poiché, data la natura del calcolatore, i processi sono in competizione per il tempo di CPU, ma un elevato numero qui indicherebbe di sicuro un problema. Il resto delle statistiche si possono quasi ignorare, in quanto si occupano di questioni davvero oscure, ma si possono esaminare nella pagina di man per top.

Righe 4 e 5, Memoria e Area di Swap

Queste due righe è meglio trattarle congiuntamente, poiché è necessario combinare queste informazioni per raccontare una storia completa. Quello che dobbiamo sapere è quanta memoria è stata usata e quanta è disponibile, in ogni momento. È importante perché la carenza di RAM è la causa più comune di un computer lento e pigro. A volte può sembrare un problema completamente diverso, questo perché è importante osservare i dati reali. Per esempio, se notiamo che il disco rigido è costantemente 'rumoroso' (noto come thrashing) possiamo pensare di avere un problema di I/O al disco stesso, ma in realtà ciò è più comunemente causato da una mancanza di RAM. Quando non c'è abbastanza RAM per contenere tutto il codice dei programmi e i dati attualmente in uso, alcuni di essi vengono copiati sul disco rigido (detto paging) per liberare spazio per altro codice e dati. Lo spazio in cui tali dati sono copiati è chiamato area di swap. Per cui quando il disco rigido è costantemente rumoroso generalmente significa che il codice e i dati sono continuamente scritti e letti da e per l'area di swap e ulteriore RAM potrebbe eliminare il problema.

Ora, una delle cose che dobbiamo capire per interpretare questi dati è che scrivere sul disco rigido e leggere dal medesimo è approssimativamente più lento di 4 mila milioni di volte rispetto allo scrivere e leggere sulla RAM. Quindi vogliamo minimizzare l'uso dell'area di swap per motivi prestazionali. Ma proprio perché la RAM è così tanto più veloce del disco rigido, il sistema operativo preferisce usarla ogni volta che è possibile. Un modo di accelerare le cose è di mantenere il codice in memoria finché non si chiude il programma. Dopotutto, possiamo riaprirlo, e rimuoverlo dalla RAM lo accelererebbe molto. Quindi il sistema operativo immagazzina nella RAM molto codice che non è effettivamente usato in maniera attiva. A causa di ciò, il resoconto sulla RAM utilizzata sarà simile a quando è sul punto di esaurirsi, anche se potrebbe non essere questo il caso. Dobbiamo osservare tutti i dati per valutarlo.

In questo caso, abbiamo iniziato notando che la macchina ha 15.949.272k di RAM. In altre parole, 16GB, come sapevo perché era quella che ci avevo installato. E il numero successivo dice che praticamente tutti i 16GB sono stati utilizzati. Questo è un problema? Non proprio. Se osserviamo la seconda riga, vediamo che ci sono 6GB di spazio swap, ma sono a mala pena utilizzati (sto usando poco meno di 2MB di RAM). E l'ultimo numero racconta la storia. Dei miei 16GB di RAM, una buona metà, 8GB, è stata usata per depositarci il codice. Se volessi aprire un programma che era già in memoria, grande, il codice è già li e si aprirà velocemente. Se voglio aprire qualche altro programma, il sistema operativo cancellerà parte del codice depositato in memoria per liberare spazio, quindi non c'è problema.

Htop, l'alternativa

In realtà preferisco top, ma ad alcune persone piace di più htop e penso che vedrete il perché. Per alcune cose è più facile lavorarci, in particolare se si necessita di fare alcune operazioni inerenti ai processi. Notate però che su molti sistemi non lo si trova già installato, per cui lo si deve prima installare. Su macchine Ubuntu, si installa con

sudo apt-get install htop

Innanzitutto, si può notare che presenta quasi gli stessi dati sui singoli processi del comando top. I processi, per scelta predefinita, sono sempre elencati in ordine di utilizzo della CPU, si può ancora vedere l'ID del processo, gli utenti, le percentuali di utilizzo della CPU e della memoria, proprio come prima. Possiamo vedere il comando che ha lanciato il processo, invece del solo nome del programma. Diversamente da top, htop permette lo scorrimento orizzontale usando i tasti freccia.

Su htop, abbiamo una interessante aggiunta, che è un visualizzatore grafico separato sull'utilizzo della CPU, per ciascuna di esse o per i core che si hanno, in questo caso 1 e 2 poiché si tratta di una macchina dual-core. E possiamo vedere l'utilizzo della memoria e dell'area di swap in una maniera che potremmo trovare facile da leggere. Tempo di funzionamento, carichi e attività sono mostrati in alto a destra.

Il vero vantaggio di htop si ha quando si vuole far qualcosa su uno o più dei propri processi. Basta semplicemente usare i tasti freccia su e giù per evidenziare i processi e usare quindi uno dei tasti funzione mostrati sul fondo. Per esempio, se si evidenzia un processo e si preme poi F9 si ucciderà il processo. Premendo F7 (Nice-) si abbasserà il numero di precisione, incrementando così la priorità (si, non è intuitivo). E premendo F8 si ridurrà la priorità alzando il numero di precisione. Ma teniamo presente che per dare una priorità molto alta a un processo avremmo bisogno di accedere come root, magari utilizzando il comando

sudo htop

Personalmente, non ho molti motivi di pasticciarci, ma il peggio che potrebbe succedere è che potrebbe essere necessario riavviare il computer se davvero roviniamo tutto.

Altri tasti funzione ci permettono di cambiare rapidamente l'ordinamento, il campo su cui ordinare e così via.

Ricapitolando, penso che htop sia molto utile, ma tendo a usare molto più spesso top per due motivi. Il primo è che mi piacciono le più dettagliare informazioni che fornisce. Il secondo è che lo avrò disponibile su qualsiasi sistema davanti al quale probabilmente mi siedo, mentre htop necessiterà di essere installato e ciò vuol dire una connessione internet funzionante, che potrei anche non avere. Ma, in generale, questi due comandi fanno spesso le stesse cose e sono una cruciale aggiunta ai propri strumenti Linux.

Note alla revisione

Errata Corrige


CategoryComunitaFcm