# memoria al 100% [risolto!]

## knefas

mi capita spesso (sempre) di avere la memoria al 100% (e anche un po' di swap) con dei top tipo cosi':

```

top - 16:13:49 up  2:05,  3 users,  load average: 0.19, 0.44, 0.46

Tasks:  74 total,   2 running,  71 sleeping,   0 stopped,   1 zombie

Cpu(s): 10.3% us,  4.3% sy,  0.0% ni, 84.7% id,  0.0% wa,  0.3% hi,  0.3% si

Mem:    327636k total,   304872k used,    22764k free,    33304k buffers

Swap:   240932k total,    28408k used,   212524k free,   149756k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           

13847 knefas    16   0 40512  25m  27m S  3.3  8.0   0:09.90 firefox-bin       

13851 knefas    16   0 40512  25m  27m S  0.0  8.0   0:00.00 firefox-bin       

13852 knefas    16   0 40512  25m  27m S  0.0  8.0   0:00.01 firefox-bin       

13853 knefas    15   0 40512  25m  27m S  0.0  8.0   0:00.16 firefox-bin       

11948 knefas    15   0 29788  14m  18m S  2.3  4.5   3:08.29 amule             

11949 knefas    16   0 29788  14m  18m S  0.0  4.5   0:00.00 amule             

11950 knefas    17   0 29788  14m  18m S  0.0  4.5   0:00.42 amule             

11848 root      15   0 98828  12m  79m S  7.6  4.0   2:54.41 X                 

13738 knefas    15   0 16256  10m  12m S  0.0  3.2   0:09.23 xchat-2           

11870 knefas    16   0 20236 8824  17m S  0.0  2.7   0:03.94 gaim              

11858 knefas    15   0  5560 3000 4044 S  0.3  0.9   0:03.54 wmaker            

26486 knefas    15   0  9848 2620 8920 S  0.0  0.8   0:01.29 artsd             

11871 knefas    18   0  200m 2492  33m S  0.0  0.8   0:00.28 java              

11872 knefas    16   0  200m 2492  33m S  0.0  0.8   0:00.00 java              

11873 knefas    16   0  200m 2492  33m S  0.0  0.8   0:00.02 java              

11874 knefas    16   0  200m 2492  33m S  0.0  0.8   0:00.00 java              

11875 knefas    16   0  200m 2492  33m S  0.0  0.8   0:00.00 java              

11876 knefas    15   0  200m 2492  33m S  0.0  0.8   0:00.68 java              

11877 knefas    20   0  200m 2492  33m S  0.0  0.8   0:00.00 java              

11878 knefas    20   0  200m 2492  33m S  0.0  0.8   0:00.00 java              

11879 knefas    16   0  200m 2492  33m S  0.0  0.8   0:00.09 java              

11884 knefas    18   0  200m 2492  33m S  0.0  0.8   0:00.12 java  

```

quando la somma delle percentuali non arriva appena la 50%. (e adesso ho il firefox aperto...ma anche senza e' uguale).

Tutto cio' mi pare inspiegabile ...qualcuno di voi ha qualche idea?  :Smile: 

kne'Last edited by knefas on Sat Feb 14, 2004 4:34 pm; edited 1 time in total

----------

## RedNeckCracker

ma...

quell' "id=84.7%" non stava per IDLE ?

----------

## knefas

sinceramente non so neanche cosa sia quell'idle di cui parli...  :Smile: 

mi riferivo soprattuto al:

```

Mem:    327636k total,   304872k used,

```

 :Smile: 

kne'

----------

## MyZelF

Il kernel Linux fa buon uso della memoria installata, evitando di lasciarla inutilizzata... L'hai pagata tutta, no?  :Wink: 

----------

## tolipth

cosa dice free?

----------

## knefas

 *MyZelF wrote:*   

> Il kernel Linux fa buon uso della memoria installata, evitando di lasciarla inutilizzata... L'hai pagata tutta, no? 

 

lol....me l'hanno regalata.

a parte gli scherzi, dici che e' giusto? perche' io avverto un effettivo rallentamento...che sia il preemtible kernel? 

/me si domanda. 

 :Smile: 

----------

## MyZelF

Che la memoria fisica risulti usata quasi al 100% dopo un po' che la macchina è accesa è corretto...

Per lo swap dipende da cosa stai effettivamente facendo...  Hai provato tenendo sotto controllo top in diverse occasioni?

----------

## yuza

Anche io in effetti mi chiedevo com'è che, anche con molte applicazioni aperte, dal top sembra che l'utilizzo della memoria e della CPU sia bassissimo, anche se poi il rallentamento in realtà si sente...

P.S. : cos'è il preemptible kernel di cui parla knefas??

----------

## MyZelF

 *yuza wrote:*   

> l'utilizzo della memoria e della CPU sia bassissimo

 

Veramente sto dicendo il contrario: per quanto ne so io, il kernel usa la RAM non utilizzata dalle applicazioni per velocizzare alcune operazioni (es. come cache), rendendola poi dinamicamente disponibile alle applicazioni in caso di necessità.

Per questo motivo dopo aver acceso la macchina e lanciato un po' di applicazioni, è facile vedere l'utilizzo della memoria schizzare quasi al 100%, ma questo non significa necessariamente che nuove applicazioni dovranno usare lo swap, con conseguente degrado prestazionale, anzi.

 *yuza wrote:*   

> 
> 
> P.S. : cos'è il preemptible kernel di cui parla knefas??

 

 *Quote:*   

> 
> 
> CONFIG_PREEMPT:
> 
> This option reduces the latency of the kernel when reacting to
> ...

 

----------

## yuza

Mmm sì scusate mi sa che ho interpretato male tutta la discussione   :Embarassed:  !

Quello che intendevo dire io, che comunque non c'entra molto con quello di cui si stava parlando, era che a volte, quando ho molti programmi aperti, mi sembra che girino più lentamente anche se il top dice che ci sono un sacco di memoria e di CPU libera.

 *Quote:*   

> 
> 
> Say N if you are unsure
> 
> 

 

Mi sa che io ho detto N...   :Rolling Eyes: 

Quindi alla prossima ricompilazione mi conviene impostarla quella opzione??

----------

## MyZelF

 *yuza wrote:*   

> 
> 
> Quindi alla prossima ricompilazione mi conviene impostarla quella opzione??

 

Sostanzialmente dipende dall'utilizzo della macchina. Se è un sistema desktop la risposta è sì.

Potrebbe essere utile abilitare anche:

```
[*] Low latency scheduling
```

----------

## knefas

Grazie MyZelf, questo mi chiarisce tutto.  :Smile: 

Quindi ecco spiegato: quando ho la RAM al 100% ma non ho rallentamento vuol dire che la sto utilizzando come cache di qualcosa, quando invece ho anche lo swap un po' pienotto allora ho "troppe" cose aperte.

tnx  :Smile: 

----------

## zUgLiO

 *MyZelF wrote:*   

> 
> 
> Potrebbe essere utile abilitare anche:
> 
> ```
> ...

 

Non trovo questa opzione..in che sottomenu è?

----------

## MyZelF

Se c'è, è sotto Processor type and features. Attenzione che devi avere un 2.4 patchato (es. ck-sources) oppure un 2.6 (in questo caso le patch per il low latency sono entrate a far parte del kernel tree ufficiale e l'opzione non esiste più).

----------

## zUgLiO

 *MyZelF wrote:*   

> oppure un 2.6 (in questo caso le patch per il low latency sono entrate a far parte del kernel tree ufficiale e l'opzione non esiste più).

 

Ah ecco perchè non la trovavo,uso il 2.6.2..

Grazie mille

----------

