Pagina 1 di 1

[RISOLTO] top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 3:20
da Xunyl
Proprio così, top e free, per quanto riguarda i dati di utilizzo di ram e cpu, restituiscono valori identici ma htop no. Solitamente top e free indicano un consumo di ram maggiore rispetto a htop, e anche la % di utilizzo della cpu non coincide. Chi ha ragione? Poco fa ho fatto in modo di mandare la cpu al 100% e ho successivamente controllato i dati restituiti da tutte e 3 le applicazioni. Top e free segnavano un utilizzo della cpu del 45% mentre htop 100%. Anche voi avete riscontrato simili differenze?

Re: top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 14:04
da brg
Xunyl ha scritto:solitamente top e free indicano un consumo di ram maggiore rispetto a htop
Sei sicuro di saper leggerli bene? Ho appena fatto la prova sul mio pc ed i dati mi paiono identici:

Codice: Seleziona tutto

Mem:   7917560k total,  1599276k used,  6318284k free,    60084k buffers

Codice: Seleziona tutto

Mem[|||||||||||                        905/7731MB]

Codice: Seleziona tutto

             total       used       free     shared    buffers     cached
Mem:          7731       1562       6169          0         58        598
-/+ buffers/cache:        905       6825
Swap:        15632          0      15632

Secondo me è la conversione kB-MB che ti frega, per la cronaca ho lanciato free -m, che dà i dati della ram usata in MB invece che in kB.
Xunyl ha scritto:Poco fa ho fatto in modo di mandare la cpu al 100% e ho successivamente controllato i dati restituiti da tutte e 3 le applicazioni. Top e free segnavano un utilizzo della cpu del 45% mentre htop 100%. Anche voi avete riscontrato simili differenze?
Hai un multi processore? Il comando top arriva a (100*numero processori/core)%, mentre htop dà i dati per ogni core/processore.

Re: top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 14:37
da Xunyl
brg ha scritto:Sei sicuro di saper leggerli bene? Ho appena fatto la prova sul mio pc ed i dati mi paiono identici:

Codice: Seleziona tutto
Mem: 7917560k total, 1599276k used, 6318284k free, 60084k buffers


Codice: Seleziona tutto
Mem[||||||||||| 905/7731MB]


Codice: Seleziona tutto
total used free shared buffers cached
Mem: 7731 1562 6169 0 58 598
-/+ buffers/cache: 905 6825
Swap: 15632 0 15632
No, io utilizzo l'opzione -m in modo tale da avere i risultati sempre in MB. Però ci ho fatto caso solo ora:

Codice: Seleziona tutto

             total       used       free     shared    buffers     cached
Mem:          3919       1325       2594          0         69        789
-/+ buffers/cache:        467       3452
Swap:         9640          0       9640

Codice: Seleziona tutto

Mem[|||||||||||                        467/3919MB]
io leggevo 1325 su free ma vedo che c'è lo stesso valore che in htop alla voce "-/+ buffers/cache:". Ho sempre pensato che il valore corretto di riferimento per la quantità di ram utilizzata fosse quello sopra :oops:
Non è così?
brg ha scritto:Hai un multi processore? Il comando top arriva a (100*numero processori/core)%, mentre htop dà i dati per ogni core/processore.
No, la macchina su cui ho fatto questo test (non è questa) ha un intel pentium m 32 bit single core.

Re: top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 14:52
da brg
Non proprio: grossi processi come KDE o altri (compreso il kernel) cercano di sfruttare al massimo la ram immagazzinanovi più dati temporanei possibili, tuttavia questi dati temporanei (buffers e cache) possono essere cestinati senza rimorsi in qualunque momento se un nuovo programma ha bisogno di spazio. Non so se hai mai notato che quando apri una directory con molti file (tipo /usr/include o /usr/lib) la prima volta si carica lentamente, ma se ci torni si carica quasi istantaneamente, indipendentemente dalla velocità del disco fisso: i dati vengono letti direttamente dalla ram dove erano stati immaganizzati la prima volta, senza rileggere tutto il disco.
Molti di quelli che criticano l'uso di ram di Linux o di KDE non tengono conto di questo fatto...

Re: top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 16:35
da Xunyl
Ok, quindi se voglio sapere la quantità reale di ram occupata cosa devo guardare? Perché in sistemi con poca ram è importante avere dati precisi per sapere anche come configurare il tutto. Htop restituisce solo i valori di cache e buffers vari mentre la memoria totale occupata è indicata da free e top?

Re: top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 20:11
da -sf
Da quel che ricordo un:

Codice: Seleziona tutto

echo 3 > /proc/sys/vm/drop_caches
dovrebbe liberare la ram da tutto cio' che non serve "realmente".

Dai un "free -m" prima e dopo cosi da vedere i cambiamenti :)

Re: top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 23:33
da Xunyl
Prima:

Codice: Seleziona tutto

             total       used       free     shared    buffers     cached
Mem:          3919       1185       2734          0         68        614
-/+ buffers/cache:        502       3417
Swap:         9640          0       9640
Dopo:

Codice: Seleziona tutto

             total       used       free     shared    buffers     cached
Mem:          3919        641       3278          0          1        146
-/+ buffers/cache:        494       3425
Swap:         9640          0       9640
Tuttavia continuo a non capire... cosa devo guardare per capire quanta memoria è effettivamente, fisicamente occupata?

Re: top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 23:44
da Ansa89
Xunyl ha scritto:cosa devo guardare per capire quanta memoria è effettivamente, fisicamente occupata?
Il primo valore nella colonna "used" (nel caso precedente prima avevi 1185 MB occupati, dopo 641 MB)

Re: top, htop e free. Chi ha ragione?

Inviato: mer 26 set 2012, 23:52
da Xunyl
Perfetto, ora è tutto chiaro, grazie a tutti =D>

Re: [RISOLTO] top, htop e free. Chi ha ragione?

Inviato: gio 27 set 2012, 1:32
da targzeta
Il primo valore di used indica la memoria occupata attualmente, questo valore però è comprensivo anche dei buffer e delle cache dei programmi. Questa memoria (cache e buffer) può tranquillamente essere eliminata in caso di bisogno. Il secondo valore, quindi, indica la memoria che "non può essere liberata". In altre parole, quando il primo valore raggiunge la dimensione della memoria fisica il kernel inizia a liberare buffer e cache. Se anche il secondo valore raggiunge la dimensione fisica della memoria, il kernel swappa, se può, altrimenti inizia a killare processi.

Prendi questo discorso con le pinze. Anzi, se mi sbaglio e qualcuno mi corregge, tanto meglio.
Emanuele

Re: [RISOLTO] top, htop e free. Chi ha ragione?

Inviato: gio 27 set 2012, 13:10
da Xunyl
Grazie Emanuele, direi che spiegato meglio di così non si può :thumbright: