System Monitor

Da Guide@Debianizzati.Org.


Sistemi di monitoraggio
Banner e-zine.png
La prima e-zine italiana sul mondo Debian

Panoramica esaustiva degli strumenti che Debian mette a disposizione per il monitoraggio delle risorse.

In questo articolo vorrei parlarvi dei fantastici strumenti che la nostra potentissima Debian ci mette a disposizione.
Ne elencherò una parte, perché i tools sono tantissimi, e si possono usare per scopi diversi.
Possiamo utilizzarli per analizzare il nostro PC che sia esso un laptop, un desktop o un server, per cercare di scoprire nel caso la nostra macchina sia lenta dove intervenire, o solamente per cercare di ottimizzarla.
Altri tools vanno poi ad integrare in interfacce grafiche (GUI) con le quali possiamo abbellire in nostro desktop environment (DE), e da dove possiamo gestire i dati da visualizzare.

Tratto dalla e-zine di Debianizzati.org
Link agli articoli:




Indice

Introduzione

In questo articolo vorrei parlarvi dei fantastici strumenti che la nostra potentissima Debian ci mette a disposizione. Ne elencherò una parte, perché i tools sono tantissimi, e si possono usare per scopi diversi.

Possiamo utilizzarli per analizzare il nostro PC che sia esso un laptop, un desktop o un server, per cercare di scoprire nel caso la nostra macchina sia lenta dove intervenire, o solamente per cercare di ottimizzarla.

Altri tools vanno poi ad integrare in interfacce grafiche (GUI) con le quali possiamo abbellire in nostro desktop environment (DE), e da dove possiamo gestire i dati da visualizzare.

Per semplicità dividerò in due parti questi strumenti:


System monitor da shell senza GUI

fdisk

fdisk è un manipolatore della tavola delle partizioni per linux

Uno strumento molto più potente dell'uso qui descritto, dovrebbe essere già presente sulla vostra distro, per maggiori informazioni usare il comando man fdisk.

Dato che in molte operazioni da eseguire con altri comandi, occorrerà conoscere la locazione del disco, fdisk è lo strumento che preferisco per ottenere questi dati.

L' esempio sotto riportato vi mostra l'output molto semplice e intuitivo.

# fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc76fc76f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        5139    41278986    7  HPFS/NTFS
/dev/sda2            5140        9696    36604102+   f  W95 Ext'd (LBA)
/dev/sda3            9697        9729      265072+  83  Linux
/dev/sda5            5140        9696    36604071    7  HPFS/NTFS

Disk /dev/hdb: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x98917e7c

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               2       14946   120045712+   f  W95 Ext'd (LBA)
/dev/hdb5               2       14946   120045681    7  HPFS/NTFS

Disk /dev/sdb: 81.9 GB, 81964302336 bytes
255 heads, 63 sectors/track, 9964 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0006b329

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        2432    19535008+  83  Linux
/dev/sdb2            2433        6079    29294527+  83  Linux
/dev/sdb3            6080        6322     1951897+  82  Linux swap / Solaris
/dev/sdb4            6323        9964    29254365    f  W95 Ext'd (LBA)
/dev/sdb5            6323        9964    29254333+   7  HPFS/NTFS

hddtemp

Bulb.png Suggerimento
L' argomento trattato ha una guida mantenuta aggiornata Hddtemp


Il programma hddtemp monitora e crea rapporti sulla temperatura dei seguenti hard disk PATA, SATA o SCASI con la lettura delle informazioni da Self-Monitoring Analysis and Reporting Technology (SMART) sulle unità che supportano questa caratteristica.

apt-get install hddtemp

Per maggiori informazioni man hddtemp hddtemp -h , sotto un'esempio di utilizzo.

# hddtemp /dev/sda
/dev/sda: ST380023AS: 30°C

blkid

Il programma blkid è l'interfaccia della linea di comando che lavora con libuuid. Si può determinare il tipo di contenuto (ad esempio un file di swap), un blocco del dispositivo e anche gli attributi (tokens, NAME = coppie di valori), dà il contenuto dei metadati (ad esempio campi LABEL or UUID).

blkid ha due forme principali di funzionamento: o la ricerca di un dispositivo con un nome specifico = valore di coppia, o la visualizzazione NAME = coppie di valori per uno o più dispositivi.

Per maggiori info usare man blkid o blkid -h qui sotto un'esempio:


# blkid
/dev/hda5: UUID="A8C0FBA6C0FB78C0" LABEL="share" TYPE="ntfs"
/dev/sda1: UUID="A2E8ED0AE8ECDE13" LABEL="xp" TYPE="ntfs"
/dev/sda3: LABEL="GEEXBOX" UUID="4ab40d92-840b-4c9b-a716-a95c19be9340" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda5: UUID="445BC3BCA2495BE4" LABEL="ARKIVIO" TYPE="ntfs"
/dev/hdb5: UUID="2E5039955039652D" LABEL="barabba" TYPE="ntfs"
/dev/sdb1: UUID="1a3f829c-d617-4c26-93cc-78d3fea89638" TYPE="ext3"
/dev/sdb2: UUID="593d925b-0328-45e4-9ad2-632fb4d143ad" TYPE="ext3"
/dev/sdb3: TYPE="swap"
/dev/sdb5: UUID="4E2CB2232CB205CD" LABEL="data" TYPE="ntfs"
/dev/hdd1: UUID="1303A5E059ECDB51" LABEL="backup" TYPE="ntfs"

lm-sensors

Bulb.png Suggerimento
L' argomento trattato ha una guida mantenuta aggiornata Lm-sensors


Lm-sensors è un pacchetto di monitoraggio della salute hardware per Linux. Esso consente di accedere alle informazioni da parte della temperatura, tensione e sensori di velocità della ventola. Funziona con la maggior parte dei sistemi più recenti. Questo pacchetto contiene i programmi per aiutarvi a creare e leggere i dati da lm-sensors.

#apt-get install lm-sensors

per poter riuscire a individuare i sensori del nostro chipset occorre prima eseguire

sensors-detect

Ci verranno poste una serie di domande alle quali dovremmo rispondere yes, così che alla fine ci verrà chiesto di poter inserire i dati all'interno del file /etc/modules, fatto questo al prossimo riavvio, lm-sensors sarà in grado di leggere i vari output dei nostri sensori.

Questo è quello che è stato inserito per la mia ASUS A7N8X-E Deluxe

# Generated by sensors-detect on Tue Sep 16 01:14:58 2008
# I2C adapter drivers
i2c-nforce2
# Chip drivers
asb100


Ricordiamoci che lm-sensors è alla base di molti altri porgrammi, che si affidano a lui per restituirvi dati come la temperatura, il numero di giri delle ventole e altro ancora, pur sempre che venga riconosciuto.

Per maggiori informazioni consultate man sensors e sensors -h, sotto trovate un'esempio di esecuzione del comando:

$ sensors
asb100-i2c-1-2d
Adapter: SMBus nForce2 adapter at 5500
VCore 1:          +1.70 V  (min =  +1.31 V, max =  +1.97 V)
+3.3V:            +3.34 V  (min =  +2.96 V, max =  +3.63 V)
+5V:              +4.89 V  (min =  +4.49 V, max =  +5.51 V)
+12V:            +11.92 V  (min =  +9.55 V, max = +14.41 V)
-12V (reserved): -12.45 V  (min =  -0.00 V, max =  -0.00 V)
-5V (reserved):   -5.22 V  (min =  -0.00 V, max =  -0.00 V)
CPU Fan:         5232 RPM  (min = 168750 RPM, div = 2)
Chassis Fan:        0 RPM  (min =   -1 RPM, div = 2)
Power Fan:          0 RPM  (min =   -1 RPM, div = 2)
M/B Temp:         +51.0°C  (high = +80.0°C, hyst = +75.0°C)
CPU Temp (Intel): +24.0°C  (high = +80.0°C, hyst = +75.0°C)
Power Temp:      +127.0°C  (high = +80.0°C, hyst = +64.0°C)
CPU Temp (AMD):   +25.0°C  (high = +80.0°C, hyst = +75.0°C)
cpu0_vid:        +1.650 V

smartmontools

Il pacchetto smartmontools contiene due programmi di utilità (smartctl e smartd) per controllare e monitorare i sistemi di storage utilizzando la Self-Monitoring, Analysis and Reporting Technology System (SMART) costruito nei più moderni ATA e SCSI hard disk. Esso è ricavato dal pacchetto SmartSuite, e include il supporto per dischi ATA/ATAPI-5. Dovrebbe funzionare su qualsiasi sistema Linux moderno. Questa tecnologia è in grado di darvi molte informazioni sullo stato di salute dei vostri hard disk, occorre un pò di pazienza nell'analisi degli output.

Per maggiori informazioni consultate smartctl -h come root. Per un output più dettagliato usate il comando

smartctl -a /dev/xxx

altrimenti il formato ridotto come da esempio sottostante:

# smartctl -i /dev/hdd
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Model Family:     Maxtor DiamondMax 10 family (ATA/133 and SATA/150)
Device Model:     Maxtor 6L200P0
Serial Number:    L42P9KZG
Firmware Version: BAJ41G20
User Capacity:    203,928,109,056 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 0
Local Time is:    Sat Apr 18 01:28:44 2009 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

hdparm

Bulb.png Suggerimento
L'argomento è trattato in una guida Hdparm



Ottiene e setta i parametri del disco rigido per Linux. L 'uso primario è per consentire l'irq-unmasking e l'IDE multiplemode. C'è da dire che questo strumento non è ancora pienamente compatibile con i dischi SATA.

-t   misura invece la velocità di trasferimento dati memorizzati in sequenza
-T   misurare la velocità del sistema usando i dati in cache
-d   1 abilita DMA / 0 disabilita DMA
-m   abilita il Multi sector count, questa opzione permette il traferimento di più settori per volta (16/32)
-c   abilita il I/O support ( 0-16 bit / 1-32 bit / 3-32 bit con sync )
-u   abilita Unmask IRQ ( 1 abilita )
-W   abilitare la Write cache in scrittura (1 abilita)

Per maggiori info sui comandi consiglio la lettura di man hdparm

Si consiglia di fare un test come da esempio, un valore da 40 a 60 MB/sec dovrebbe essere nella media:

# hdparm -t /dev/sda

/dev/hdd:
 Timing buffered disk reads:  184 MB in  3.02 seconds =  60.88 MB/sec

Dopo aver eseguito il test si possono cominciare a fare le modifiche necessarie e alla fine si ripete un'altra volta la prova per vedere se ci sono dei miglioramenti.

Per ottenere dei risultati affidabili, conviene eseguire questi test in una condizione di riposo del PC ovvero senza applicazioni funzionanti, altrimenti, possibili valori bassi potrebbero essere causati da HD che lavorano per fare altro.

Se i test dopo i cambiamenti hanno avuto successo, ricordatevi di salvarli nel file di configurazione, altrimenti verranno persi a ogni riavvio.

Il file di configurazione è /etc/hdparm.conf e io consiglio di inserire i vostri valori nella parte finale come da esempio

command_line {
       hdparm -q -m16 -q -W0 -q -d1 /dev/hda
}

in questo modo avrete ad ogni riavvio i parametri da voi scelti

powertop

PowerTOP è uno strumento che serve a scoprire che cosa sta usando risorse su un portatile.

PowerTOP Linux è uno strumento che trova il/i componente software/s che rendono il vostro computer portatile più esoso di risorse rispetto a quanto necessario mentre è inattivo. Dal kernel Linux versione 2.6.21, il kernel non ha più un timer tick fisso 1000Hz. Questo (in teoria) dovrebbe dare un enorme risparmio in quanto la potenza della CPU rimane in modalità a bassa potenza per periodi più lunghi di tempo durante il regime minimo.

Tuttavia ... ci sono molte cose che possono rovinare la festa, sia all'interno del kernel e in userspace. PowerTOP combina diverse fonti di informazioni da parte del kernel in uno schermo in modo conveniente che si può ben vedere cosa il sistema sta facendo, e quali componenti sono il problema più grande.

apt-get install powertop

Eseguire il comando powertop per maggiori info consultate il sito :Link PowerTop


Screenshot2 small.gif

latencytop

L'audio che salta, server lenti, ognuno conosce i sintomi della latenza. Ma per sapere cosa c'è di nuovo nel sistema, ciò che sta causando la latenza, come risolvere il problema ... questa è una domanda difficile, senza buone risposte adesso.

LatencyTOP è un tool Linux per gli sviluppatori di software (sia del kernel e userspace), volto a individuare in quale parte del sistema e che tipo di operazione / azione provoca la latenza in modo che il codice può essere modificato per evitare la peggior latenza.

Ci sono molti tipi e cause di latenza. LatencyTOP si concentra sul tipo di latenza che provoca salti audio, scatti nel vostro DE o sovraccarichi del server.

LatencyTOP si concentra sui casi in cui l 'applicazioni desidera eseguire ed esegue codice utile, ma ci sono alcune risorse che attualmente non disponibili (e quindi il kernel blocchi il processo). Ciò avviene sia a livello di sistema e su un livello per ogni processo, in modo da poter vedere cosa succede al sistema, e quale processo soffre e / o causa ritardi.

Link al sito di LatencyTop

apt-get install latencytop

eseguire il comando come root

# latencytop

Latencytop.png

In base ai dati forniti si potrà poi procedere nel tuning della nostra macchina seguendo le indicazioni.

Latencytop necessita che il kernel sia compilato con la seguente opzione

CONFIG_LATENCYTOP=y 
# latencytop
Error writing to /proc/sys/kernel/latencytop: No such file or directory
Error writing to /proc/sys/kernel/latencytop: No such file or directory
are you root?
Please enable the CONFIG_LATENCYTOP configuration in your kernel.
Exiting...

Per maggiori informazione consultare man latencytop.

bootchart

Bulb.png Suggerimento
L'argomento è trattato nella guida: Bootchart2



bootchart è usato per processare il file di log creato da bootchartd (/var/log/bootchart.tgz di default).

bootchart costruisce l'albero dei processi e renderizza le perfonrmance come grafico in diversi formati.

Il grafico può essere poi analizzato per esaminare le dipendenze dei processi e in generale l'utilizzo delle risorse.

apt-get install bootchart

Occorre per prima cosa aggiungere questo comando /init=/sbin/bootchartd nel vostro file /boot/grub/menu.lst come da esempio

title           Debian GNU/Linux, kernel 2.6.26-2-686
root            (hd1,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/sdb1 ro init=/sbin/bootchartd
initrd          /boot/initrd.img-2.6.26-2-686 

Attenzione perchè ad ogni aggiornamento di grub o del kernel l'opzione aggiunta verrà eliminata, perciò dovrete reinserirla se volete dei log aggiornati.

Ora occorre riavviare il sistema per poter creare il file di log necessario.

Al riavvio da shell spostiamoci dove vogliamo creare l'immagine, esempio:

cd /home/barabba/

e eseguiamo il comando

bootchart -f png

avremo se tutto va bene

Parsing /var/log/bootchart.tgz
Wrote image: ./bootchart.png

possiamo ora andare nella cartella e con il nostro visualizzatore di immagini preferito visualizzare il nostro boot

Per maggiori informazioni

bootchart -h
usage: bootchart [OPTION]... [FILE]...
-f,--format image format (png | eps | svg; default: svg)
-h,--help print this message
-n,--no-prune do not prune the process tree
-o,--output-dir output directory where images are stored (default: .)
-v,--version print version and exit

Bootchart.jpg

riconoscimento HW

lshw
apt-get install lshw 

Un piccolo strumento per fornire informazioni dettagliate sulla configurazione hardware della macchina. Si possono creare report sulla configurazione di memoria, la versione del firmware, mainboard, la versione della CPU e la velocità, la cache di configurazione, la velocità di bus, ecc. sulla DMI-capable sistemi x86, su alcune macchine PowerPC e AMD64. Le informazioni possono avere un output in formato testo, HTML o XML.

Per i parametri usare lshw -h , oppure consultate man lshw

Eseguire da Shell come root il comando lshw, otterrete a monitor un listato del vostro hardware del quale ne posto una piccola parte

# lshw
barabba
   description: Desktop Computer
   product: A7N8X-E
   vendor: ASUSTeK Computer INC.
   version: REV 2.xx
   serial: xxxxxxxxxxx
   width: 32 bits
   capabilities: smbios-2.2 dmi-2.2 smp
   configuration: boot=normal chassis=desktop
 *-core
      description: Motherboard
      product: A7N8X-E
      vendor: ASUSTeK Computer INC.
      physical id: 0
      version: REV 2.xx
      serial: xxxxxxxxxxx
      slot: Serial Port 1
    *-firmware
         description: BIOS
         vendor: Phoenix Technologies, LTD
         physical id: 0
         version: ASUS A7N8X-E Deluxe ACPI BIOS Rev 1013 (11/12/2004)
         size: 64KiB
         capacity: 448KiB
         capabilities: pci pnp apm upgrade shadowing cdboot bootselect socketedrom edd 
 int13floppy360 int13floppy1200 int13floppy720 int13floppy2880
 int5printscreen int9keyboard int14serial int17printer int10video acpi usb agp ls120boot zipboot
    *-cpu
         description: CPU
         product: AMD Athlon(tm) XP 3000+
         vendor: Advanced Micro Devices [AMD]
         physical id: 4
         bus info: cpu@0
         version: 6.10.0
         slot: Socket A
         size: 2166MHz
         capacity: 3GHz
         width: 32 bits
         clock: 166MHz
         capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pat pse36 mmx fxsr sse syscall mmxext 
3dnowext 3dnow up
lsusb

lsusb è un programma di utilità per la visualizzazione di informazioni sui bus USB nel sistema e le periferiche ad esse connessi.

barabba:/etc# lsusb
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 046d:092f Logitech, Inc. QuickCam Express Plus
Bus 002 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 0424:2504 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pciutils

I PCI Utilities sono una collezione di programmi per il controllo e la manipolazione di configurazione di periferiche PCI, tutti sulla base di una common portable library libpci che offre l'accesso allo spazio di configurazione PCI su una varietà di sistemi operativi.

I servizi di pubblica utilità comprendono: (vedi le pagine di manuale per maggiori dettagli)

  1. lspci

visualizza informazioni dettagliate su tutti i bus PCI e dispositivi del sistema

  1. setpci

permette la lettura e la scrittura di configurazione della periferica PCI registri. Ad esempio, è possibile regolare la latenza timer con esso.

apt-get install pciutils

Eseguito da root questo è il mio output

barabba:/etc# lspci
00:00.0 Host bridge: nVidia Corporation nForce2 IGP2 (rev c1)
00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 1 (rev c1)
00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev c1)
00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev c1)
00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev c1)
00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev c1)
00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a4)
00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
00:04.0 Ethernet controller: nVidia Corporation nForce2 Ethernet Controller (rev a1)
00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3)
00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
00:0d.0 FireWire (IEEE 1394): nVidia Corporation nForce2 FireWire (IEEE 1394) Controller (rev a3)
00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
01:04.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller (rev 13)
01:08.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)
01:08.1 Input device controller: Creative Labs SB Live! Game Port (rev 08)
01:0b.0 RAID bus controller: Silicon Image, Inc. SiI 3112 [SATALink/SATARaid] Serial ATA Controller (rev 02)
03:00.0 VGA compatible controller: nVidia Corporation G73 [GeForce 7600 GS] (rev a2)

Processi attivi

Visualizzare i processi attivi da terminale

top

top fa parte dei Linux Command Library e offre la possibilità di vedere in tempo reale le attività dei processi. Visualizza una lista dei tasks con maggior uso della CPU del sistema, ed è in grado di fornire un'interfaccia interattiva per manipolare i processi. E' possibile ordinare i compiti da parte della CPU, la memoria e l'uso di runtime.

Per maggiori informazioni sulle funzioni del comando

man top

Dal vostro terminale preferito digitate

$top

top - 00:16:41 up  2:52,  1 user,  load average: 0.30, 0.30, 0.28
Tasks: 111 total,   2 running, 109 sleeping,   0 stopped,   0 zombie
Cpu(s): 16.4%us,  5.6%sy,  0.0%ni, 76.7%id,  0.3%wa,  1.0%hi,  0.0%si,  0.0%st
Mem:   2076452k total,  1768308k used,   308144k free,    52692k buffers
Swap:  1951888k total,        0k used,  1951888k free,  1131424k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
3054 root      20   0  123m  61m 9540 S  7.6  3.0   6:33.32 Xorg
3712 ettore    20   0  317m 114m  33m S  7.6  5.7  17:01.97 firefox-bin
3241 ettore    20   0 30596  11m 8808 S  2.6  0.6   0:04.50 kwin
3485 ettore    20   0  173m  59m  30m S  2.6  2.9   3:38.31 amarokapp
5025 ettore    20   0  104m  34m  18m S  1.6  1.7   3:00.43 amule
3245 ettore    20   0 37100  17m  13m S  1.3  0.9   0:08.64 kicker
14524 ettore    20   0  184m 170m  13m S  1.3  8.4   0:09.14 kpackage
3652 ettore    20   0 32864  15m  11m R  0.7  0.8   0:04.18 konsole
25364 ettore    20   0 49944  28m  19m S  0.7  1.4   0:03.60 konqueror
4819 ettore    20   0 56576  22m  12m S  0.3  1.1   0:34.10 mobloquer
   1 root      20   0  2128  720  632 S  0.0  0.0   0:01.48 init
   2 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kthreadd
   3 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/0
   4 root      15  -5     0    0    0 S  0.0  0.0   0:00.68 ksoftirqd/0
   5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.02 watchdog/0
   6 root      15  -5     0    0    0 S  0.0  0.0   0:00.54 events/0
   7 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 khelper
  39 root      15  -5     0    0    0 S  0.0  0.0   0:00.18 kblockd/0
  41 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid
  42 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kacpi_notify
 148 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kseriod
 185 root      20   0     0    0    0 S  0.0  0.0   0:00.16 pdflush
 186 root      20   0     0    0    0 S  0.0  0.0   0:00.32 pdflush
 187 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 kswapd0
 188 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 aio/0
 667 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 ksuspend_usbd
 668 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 khubd
 701 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 ata/0
 702 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 ata_aux
 705 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 khpsbpkt
 824 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 knodemgrd_0
 825 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_0
 826 root      15  -5     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_1
1066 root      15  -5     0    0    0 S  0.0  0.0   0:00.82 kjournald
1160 root      16  -4  3236 1812  496 S  0.0  0.1   0:00.38 udevd
1793 root      15  -5     0    0    0 S  0.0  0.0   0:00.02 kgameportd
2182 root      15  -5     0    0    0 S  0.0  0.0   0:01.14 kjournald

System monitor con GUI

diversi programmi utili

conky

Sito di conky

Conky è un monitor di sistema per X basato sul codice torsmo. Fin dalla sua concezione originaria, Conky ha cambiato un po' dal suo predecessore. Conky può visualizzare praticamente qualsiasi cosa, sia di root sul vostro desktop o nella propria finestra. Conky ha molti oggetti built-in, così come la capacità di eseguire i programmi e gli script, quindi visualizzare l'output di stdout.

apt-get install conky

Il file di configurazione di conky va creato, per maggiori informazioni consultate il sito ufficiale, oppure trovate degli esempi da poter scaricare qui

Il file .conkyrc va inserito all'interno della nostra cartella utente nella home

$touch /home/barabba/.conkyrc

questo è il mio

Conky.jpg

e questo è il mio file di configurazione, gentilmente passatomi da oTTony che poi ho modificato nei punti di mount e qualche altro piccolo dettaglio:

# set to yes if you want Conky to be forked in the background

background yes

cpu_avg_samples 1

net_avg_samples 1

out_to_console no

# X font when Xft is disabled, you can pick one with program xfontsel

#font 7x12

#font 6x10

font 7x13

#font 8x13

#font 7x12

#font *mintsmild.se*

#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*

#font -artwiz-snap-normal-r-normal-*-*-100-*-*-p-*-iso8859-1

# Use Xft?

use_xft yes

# Xft font when Xft is enabled

xftfont monospace-8

own_window_transparent no

own_window_colour hotpink

# Text alpha when using Xft

xftalpha 0.8

on_bottom yes

# mail spool

mail_spool $MAIL

# Update interval in seconds

update_interval 5

# Create own window instead of using desktop (required in nautilus)

own_window no

# Use double buffering (reduces flicker, may not work for everyone)

double_buffer no

# Minimum size of text area

minimum_size 5 5

#maximum_width 150

  1. Draw shades?

draw_shades no

# Draw outlines?

draw_outline no

# Draw borders around text

draw_borders yes

# Stippled borders?

stippled_borders 0

# border margins

border_margin 1

# border width

border_width 2

# Default colors and also border colors

default_color 3bb5f4

default_shade_color 3bb5f4

default_outline_color 3bb5f4

# Text alignment, other possible values are commented

#alignment top_left

alignment top_right

#alignment bottom_left

#alignment bottom_right

# Gap between borders of screen and text

gap_x 5

Corsivo

gap_y 260

# Add spaces to keep things from moving about? This only affects certain objects.

use_spacer yes

# Subtract file system buffers from used memory?

no_buffers yes

# set to yes if you want all text to be in uppercase

uppercase no

### stuff after 'TEXT' will be formatted on screen####

TEXT

${color white}[${color #3bb5f4}Marco${color white}][${color red}$nodename${color white}] -

${color yellow}$sysname $kernel ${color #CCCCCC}on ${color #3bb5f4}$machine

${color #3bb5f4}Uptime: ${color yellow}$uptime

${color white}${time %b/%a/%d} ${color white}${time %k:%M:%S}

${color #3bb5f4}${hr 2}

${color #3bb5f4}-Monitors-

${color #3bb5f4}Carico Cpu: ${color red}${cpu}${color white}% ${color #3bb5f4}Frequenza CPU${color green} ${freq 1} ${color white}MegaHz

${color #3bb5f4}${cpugraph 25 ff0000 ff00ff}

${color #3bb5f4}Ram : ${color red}$mem${color white}/${color yellow}$memmax ${color white}- ${color red}$memperc ${color white}%

${color #3bb5f4}Swap: ${color red}$swap${color white}/${color yellow}$swapmax ${color white}- ${color red}$swapperc ${color white}%

${color #3bb5f4}Processi: ${color #CCCCCC}$processes ${color #3bb5f4}Attivi: ${color #CCCCCC}$running_processes

${color #3bb5f4}${hr 2}

${color #3bb5f4}Net:${color yellow}eth0-

${color #3bb5f4}DOWN: ${color blue}${downspeed eth0} ${color white}k/s ${color #3bb5f4}UP: ${color red}${upspeed eth0} ${color white} k/s

${color #3bb5f4}${downspeedgraph eth0 25,100 ff0000 0000ff 128} ${color #3bb5f4}${upspeedgraph eth0 25,100 0000ff ff0000 128}

${color #3bb5f4}TOTAL: ${color yellow}${totaldown eth0} ${color #3bb5f4}TOTAL: ${color yellow}${totalup eth0}

${color #3bb5f4}${hr 2}

${color #3bb5f4}Spazio-${color red}Occupato${color #3bb5f4}-${color white}Totale${color #3bb5f4}-${color green}Libero-

${color #3bb5f4}root : ${color red}${fs_used /}${color #3bb5f4}/${color white}${fs_size /} ${color #3bb5f4}(${color green}${fs_free /} ${fs_free_perc /}% ${color yellow} free${color #3bb5f4})

${color #3bb5f4}${fs_bar /}

${color #3bb5f4}Home : ${color red}${fs_used /home/server}/${color #3bb5f4}/${color white}${fs_size /home/server} ${color #3bb5f4}(${color green}${fs_free /home/server} ${fs_free_perc /home/server}% ${color yellow} free${color #3bb5f4})

${color #3bb5f4}${fs_bar /home/server}

${color #3bb5f4}Magazzino: ${color red}${fs_used /mnt/magazzino}${color #3bb5f4}/${color white}${fs_size /mnt/magazzino} ${color #3bb5f4}(${color green}${fs_free /mnt/magazzino} ${fs_free_perc /mnt/magazzino}% ${color yellow} free${color #3bb5f4})

${color #3bb5f4}${fs_bar /mnt/magazzino}

${color #3bb5f4}Remove : ${color red}${fs_used /mnt/remove}${color #3bb5f4}/${color white}${fs_size /mnt/remove} ${color #3bb5f4}(${color green}${fs_free /mnt/remove} ${fs_free_perc /mnt/remove}% ${color yellow} free${color #3bb5f4})

${color #3bb5f4}${fs_bar /mnt/remove}

${color #3bb5f4}Back : ${color red}${fs_used /mnt/back}${color #3bb5f4}/${color white}${fs_size /mnt/back} ${color #3bb5f4}(${color green}${fs_free /mnt/back} ${fs_free_perc /mnt/back}% ${color yellow} free${color #3bb5f4})

${color #3bb5f4}${fs_bar /mnt/back}

${color yellow}Unread Mail${color red} ${imap_unseen 192.168.0.25 username@mydomain.it password [-i 3] [-p 143]}

superkaramba

Bulb.png Suggerimento
L'argomento è trattato in una guida mantenuta aggiornata Superkaramba



SuperKaramba è, in termini semplici, uno strumento che ti permette di creare facilmente eye-candy interattivi sul tuo desktop KDE. Attualmente, solo linux è ufficialmente supportato.

SuperKaramba è uno strumento basato su karamba che permette a chiunque di creare e gestire facilmente piccoli widget interattivi su un desktop KDE. I widget sono definiti in un semplice file di testo che può essere aumentato con codice Python per renderli interattivi. Qui sono solo alcuni esempi di ciò che si può fare:

Questo pacchetto è parte di KDE, come una componente del modulo KDE utilità.

Come consigliato nel sito ufficiale, per poter scaricare nuovi temi dovete andare a cercarli su kde-look.org , qui potrete trovare di tutto, dalle GUI per visualizzare le risorse a dock-bar.

apt-get install superkaramba

Eseguire il comando

superkaramba

da terminale, oppure usando la combinazione di fasti alt+F2 o dal menu di KDE Accessori>Desktop>Superkarmba

Vi troverete l'interfaccia che vi permette di optare tra 2 soluzioni

  1. Scarica novità - per scaricare un tema a scelta dal browser interno
  2. Apri tema locale - per eseguire un tema già presente sulla vostra macchina

Io ho optato per la seconda scelta perché mi è venuto più comodo per gestire le modifiche al tema.

Una volta scaricato il tema da kde-look.org, scompattate il file in una cartella e grazie alla seconda opzione apritelo.

Se volete modificarlo, aprite con un editor di testo i file .theme, in questo caso io uso l'editor interno di MC.

Fate attenzione perché alcuni temi piuttosto complessi e/o con diverse funzioni, avranno più file .theme richiamati da un file principale .

Superkaramaba.jpg


Superkaramaba1.jpg


Come esempio vi lascio Superkaramba sul mio notebook, come vedete ho un widget per il segnale della rete wi-fi e una GUI per vedere un pò tutto del sistema, dalle temperature all'uso della CPU, dal traffico di rete alla capacità degli HD, qui potete sbizzarrirvi come volete.

Da notare che sul notebook con i driver ATI funziona senza problemi occupando pochissime risorse, mentre su un' altro PC con driver NVidia ho notato alcuni rallentamenti nella ripresa da risparmio energetico.

gkrellm

GKrellM (GNU Krell Monitors) è un programma di system monitors basato sul toolkit GTK+. Può essere usato per monitorare lo stato della CPU, della memoria, l'hard disk, le interfacce di rete, lo stato di caselle di posta elettronica locali e remote, e moltre altre cose. Sono disponibili plugin per molte funzioni, ad esempio per controllare l'XMMS media player o un client SETI@home. GKrellM è molto diffuso fra utenti Linux e sistemi operativi unix-like in generale.

Sito ufficiale

apt-get install gkrellm

Lista plugins da repository

gkrellm-alltraxclock                                            - analog clock plugin for GKrellM
gkrellm-bfm                                                     - system load plugin for gkrellm with a duck
gkrellm-hdplop                                                  - A hard drive activity monitor GKrellM plugin
gkrellm-i8k                                                     - Dell Inspiron and Latitude module for GKrellM2 (i8krellm)
gkrellm-ibam                                                    - Advanced battery monitor for laptops - gkrellm plugin
gkrellm-leds                                                    - Keyboard LED monitor for GKrellM
gkrellm-mailwatch                                               - GKrellM plugin to watch mailboxes in multiple panels
gkrellm-mldonkey                                                - mldonkey plugin for gkrellm2
gkrellm-radio                                                   - FM radio tuner for GKrellM
gkrellm-reminder                                                - useful reminder plugin for gkrellm
gkrellm-snmp                                                    - snmp plug-in for GKrellM
gkrellm-thinkbat                                                - ThinkPad laptops battery status indicator for GKrellM
gkrellm-volume                                                  - A mixer plugin for GKrellM
gkrellm-x86info                                                 - gkrellm plugin displaying the current processor speed
gkrellm-xkb                                                     - Keyboard layout indicator plugin for GKrellM
gkrellmd                                                        - GNU Krell Monitors Server
gkrellmitime                                                    - Internet time plugin for gkrellm
gkrellmoon                                                      - Gkrellm Moon Clock Plugin
gkrellmss                                                       - Plugin for GKrellM that has a VU meter and a chart
gkrellmwho2                                                     - who plugin for gkrellm2
gkrellmwireless                                                 - 802.11 wireless link monitor plugin for GKrellM

lista dei plugin dal sito ufficiale

Per la visualizzazione dei sensori necessita del pacchetto lm-sensors

Eseguire gkrellm dal menu del vostro DE oppure crtl+F2 e scrivere gkrellm

Esempio :

Gkrellm.jpg

ksensors

Questa è un'interfaccia per KDE a lm-sensors per controllare la scheda madre. Permette di accedere ad informazioni come la temperatura e la velocità delle ventole.

Sono richiesti i moduli lm-sensors nel kernel per usare questo pacchetto.

apt-get install lm-sensors ksensors

Questo da buon utente KDE che sono io è il mio strumento preferito, come potete notare lo tengo sempre nella tray-bar, lì è possibile selezionare quanti e quali sensori mettere in evidenza. A me interessa sapere solo la temperatura del processore dato che controllo la velocità della ventola manualmente con un regolatore sul case.

Nell'esempio sotto potete vedere anche la finestra di configurazione che si ottiene clickando con il pulsante destro sull'icona nella tray-bar.

Ksensors.jpg

gnome applet

Fanno parte del DE Gnome

1.JPG


2.JPG

Basta aggiungere alla nostra barra superiore il monitor di sistema e da li poi abilitare ciò che ci interessa

riconoscimento hardware

lshw-gtk

lshw-gtk è la GUI di lshw

apt-get install lshw-gtk

Eseguire come root il comando lshw-gtk

Lshw-gtk.jpg


hardinfo

Hardinfo mostra informazioni sul sistema, è una piccola applicazione che mostra informazioni sull'hardware e sul sistema operativo. Attualmente riconosce dispositivi PCI, ISA PnP, USB, IDE, SCSI, seriali e su porta parallela.

apt-get install hardinfo

Eseguite il comando e vi si aprirà l'interfaccia del programma, molto semplice e intuitiva, da qui potrete ricavare molte informazioni utili senza dover smanettare con la console per caricare tutti i comandi, offre anche dei benchmark e un report.

Hardinfo.jpg

Processi attivi

KSysGuard

Specifico per KDE, lo potete trovare nel Kmenù in >sistema>ksysguard o molto più semplicemente, premere ctrl+esc , comodissimo per terminare applicazioni bloccate.

KSysGuard.jpg

htop

htop è un visualizzatore interattivo di processi per Linux. Si tratta di una applicazione in modalità testo (console o per terminali X) e richiede ncurses. Testato con Linux 2.4 e 2.6. Htop e possibile lanciarlo anche fuori da shell con alt+F2 , per terminare F10.

Dalla versione 0.81 e possibile inserire anche lo stato di carica della batteria , in uno dei 2 task sulla parte superiore. Usare F2 per il setup e la configurazione .

Questa utility dà un listato dei processi attivi con i relativi valori di

PID

user

risorse memoria e virtuale

risorse CPU


apt-get install htop


Htop.jpg

Note & Considerazioni

Gli strumenti che offre Gnu/Linux per controllare la vostra macchina sotto il profilo Hardware e Software, come potete vedere sono tantissimi.

Dovete considerare che questa piccola carrellata ne rappresenta una parte, ho voluto solo elencare alcuni dei tools tra quelli che conosco e tra quelli che sono riuscito a raccogliere spulciando nel forum.

Cercate di usarli anche per individuare problemi, o per cercare di migliorare le prestazioni della vostra macchina.

Per terminare volevo lasciare un comando derivato da uno strano pacchetto segnalato da Borlongioffei

vrms

Richard M. Stallman virtuale

Il programma vrms analizza i pacchetti attualmente installati su un sistema Debian GNU/Linux e riporta tutti i pacchetti delle sezioni non-free e contrib che sono installati.

In alcuni casi, le opinioni di Richard M. Stallman e del progetto Debian si sono allontanate le une delle altre dopo che questo programma è stato scritto. In questi casi, il programma segue le Debian Free Software Guidelines.

Notare che vrms non è limitato ai soli sistemi Debian (questo vuol dire che funziona anche sulle distribuzioni che derivano da Debian come Ubuntu); non è nemmeno limitato ai sistemi basati su Linux.

Le versioni future di vrms includeranno un'opzione per visualizzare anche del testo dagli articoli pubblici di RMS e altri, che spiegano perché l'uso di ciascuno dei pacchetti non-free installati può causare controversie morali per qualche membro della comunità del Software Libero. Questa funzionalità non è ancora inclusa.

apt-get install vrms

Basta eseguire dalla Shell come utente il comando vrms. Per maggiori informazioni vrms -h. Esempio:

$ vrms
              Non-free packages installed on barabba

googleearth               Google Earth, a 3D map/planet viewer
lha                       lzh archiver
  Reason: No modifications allowed, non-network distributions problematic
opera                     The Opera Web Browser
p7zip-rar                 non-free rar module for p7zip
rar                       Archiver for .rar files
sun-j2re1.6               Java(TM) JRE, Standard Edition, Sun Microsystems(TM)
unrar                     Unarchiver for .rar files (non-free version)
  Reason: Modifications problematic 
               Contrib packages installed on barabba 

googleearth-package       utility to automatically build a Debian package of Goo
java-package              utility for building Java(TM) 2 related Debian package
msttcorefonts             transitional dummy package
ttf-mscorefonts-installer Installer for Microsoft TrueType core fonts

  7 non-free packages, 0.3% of 2152 installed packages.
  4 contrib packages, 0.2% of 2152 installed packages.

Lo so di non essere del tutto free, ho fatto il possibile, ma ora controllate anche voi quanto siete free.

Bulb.png Suggerimento
L'argomento viene trattato ina una guida mantenuta aggiornata Due_simpatici_login:_welcome2l_e_linuxlogo



Come strumento fornisce alcuni dati come kernel , processore , memoria e bogomips.

Per chi non sapesse cosa sono i bogomips , riporto il testo di wikipedia che mi pare più chiaro di una mia spiegazione :

BogoMips (dai termini bogus dal significato di fasullo, inutile, e MIPS, million instructions per second)
è un indice informale delle prestazioni di una CPU, ideato da Linus Torvalds e calcolato dal Kernel Linux 
durante la fase di boot,con lo scopo di calibrare i loop di temporizzazione interni (busy-loop).

Per il calcolo, viene eseguito un ciclo di istruzioni predefinito misurando il tempo impiegato per 
eseguirlo.

Spesso è goliardicamente definita come «milioni di volte per secondo in cui un processore può non fare 
assolutamente nulla». Torvalds ha coniato quest'accezione ironica per sottolineare l'inutilità, come 
indice assoluto di riferimento, del calcolo dei MIPS per i differenti sistemi.

Il valore calcolato per il proprio sistema viene mostrato a video durante le prime fasi di avvio 
del kernel.  Il valore viene memorizzato nel file cpuinfo, parte dello pseudo-filesystem procfs e può 
essere richiamato aprendo in  lettura il file, situato in /proc.
apt-get install linuxlogo

Come utente eseguire il comando

$linux_logo

l'output sarà simile a questo sotto riportato , per maggiorni info linux_logo -h

Linuxlogo.jpg



Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti