PDA

Visualizza la versione completa : Liberare Memoria


dani75
15-04-2004, 10:55
Ciao a tutti !!!!
Volevo sapere una cosa: come posso liberare la memoria ?

Ho visto che facendo il comando "top" il sistema mi fa vedere tutti i processi attivi con relativa memoria usata, cpu, ecc...

Guardando la schermata vedo che ci sono moltissimi processi con "STAT"
= "S" (sleeping) che occupano memoria, perche' ?
Eccola:

8948 batman 17 0 331M 184M 45004 R 8.3 18.2 19:44 python
8971 batman 9 0 331M 184M 45004 S 0.0 18.2 0:00 python
8972 batman 9 0 331M 184M 45004 S 11.8 18.2 194:27 python
8973 batman 9 0 331M 184M 45004 S 0.0 18.2 304:49 python
8974 batman 9 0 331M 184M 45004 S 0.3 18.2 209:30 python
8975 batman 9 0 331M 184M 45004 S 71.8 18.2 199:30 python
3062 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:27 mysqld
3064 mysql 8 0 27256 21M 20988 S 0.0 2.1 1:04 mysqld
3065 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:11 mysqld
3066 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
8984 mysql 9 0 27256 21M 20988 S 1.1 2.1 17:42 mysqld
9216 mysql 9 0 27256 21M 20988 S 0.0 2.1 15:47 mysqld
9226 mysql 9 0 27256 21M 20988 S 0.0 2.1 15:49 mysqld
6644 mysql 9 0 27256 21M 20988 S 1.9 2.1 1:49 mysqld
29263 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29309 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29415 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29455 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29458 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29493 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29514 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29702 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29708 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29720 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29734 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29739 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld
29741 mysql 9 0 27256 21M 20988 S 0.0 2.1 0:00 mysqld



In alto poi c'e' il "riassunto" della memoria usata compresa quella di "swap" :

Mem: 1033880K total, 953548K used, 80332K free, 249776K buffers
Swap: 1007736K total, 222368K used, 785368K free, 433280K cached

Grazie.
Saluti.

gianiaz
15-04-2004, 11:17
credo che la S sia associata a quei processi chiamati demoni.
I demoni sono dei programmi che risiedono in memoria e che ascoltano pronti a rispondere a determinate richieste (vedi mysqld, pronto a rispondere alle query sql dei DB).

con il comando free vedrai un report della memoria.
Ricorda che la cached č memoria che vedi occupata, ma č libera pronta per essere utilizzata.

ciao

dani75
15-04-2004, 11:35
Grazie per la tua velocissima risposta !!!!!

Perche' quando non ci sono pių processi che utilizzano la memoria, essa rimane occupata: il valore "used" non dovrebbe diminuire ed aumentare il "free" ?

Grazie.

Saluti.

gianiaz
15-04-2004, 11:47
non so risponderti in termini tecnici, ma da quanto ho capito una volta utilizzata la memoria "viene aperto una specie di collegamento" con essa. Quando la memoria viene liberata si dice che rimane cached, nel senso che la memoria viene effetivamente liberata, ma il collegamento rimane aperto.
Questo meccanismo serve per rendere l'accesso alla memoria pių veloce.

spero di non aver detto castronerie troppo grosse :p

Ikitt
15-04-2004, 12:18
Originariamente inviato da gianiaz
credo che la S sia associata a quei processi chiamati demoni.

Non necessarimante. Si tratta genericamente di processi in attesa di un qualche evento, non necessariamente demoni.

dani75
15-04-2004, 12:28
Quindi secondo te quando ha finito la memoria "normale", comincia a ri-utilizzare quella "cache", finita anche quella, va nella "swap" ?

Grazie.

Saluti.

gianiaz
15-04-2004, 12:39
si

Loading