Re: Server che non rilascia la ram
On Sat, Mar 10, 2018 at 04:05:51PM +0100, Felipe Salvador wrote: > > La cosa strana è che anche killando uno ad uno i processi, la memoria non > > viene rilasciata e l'unico modo per pulirla è riavviare. > > Perché continua a tenersi in pancia pagine e pagine di memoria sotto > forma di cache e buffer. Puoi droppare cache e buffer selettivamente[¹], ma > finché non riporti qual'è il problema questo rimane una non soluzione a un > non problema. N.B Il fatto che continui a tenersi in pancia quelle pagine di memoria non significa che non sia consapevole della chiusura del programma a cui appartenevano. Active: Memory that has been used more recently and usually not reclaimed unless absolutely necessary. Inactive: Memory which has been less recently used. It is more eligible to be reclaimed for other purposes Queste verranno quindi contrassegnato come Inactive, e rese eleggibili per la loro liberazione, che avverrà dopo che le informazioni contenute saranno scritte su disco. In sostanza Linux non muove un dito(o ciclo) per "pulire" la memoria, a meno che non ne abbia bisogno. Anzi ne occupa quanta più gliene occorre per ridurre i tempi di accesso alle informazioni richieste, nell' I/O e nella esecuzione dei programmi. Mi rimetto alla analisi dei più esperti per correzioni o smentite. > > Non so che tool utilizzare per capire che succede (free, top, htop non mi > > aiutano ...) > > Hai citato il nome di programmi che sono il pane, se si vuole venire a > capo di questo genere di problemi. Potresti cortesemente eseguire un > free e mostrarlo alla lista? > > > La stretch è costantemente aggiornata, tranne il kernel che è fermo a > > 4.9.51-1 > > > > Grazie a chi mi da un buon consiglio ! > > > > -- > > Michele Orsenigo > > deb...@orsenigo.it > > [¹] > https://unix.stackexchange.com/questions/87908/how-do-you-empty-the-buffers-and-cache-on-a-linux-system > -- > Felipe Salvador -- Felipe Salvador
Re: Server che non rilascia la ram
On Sat, Mar 10, 2018 at 02:14:42PM +0100, Michele Orsenigo wrote: > Ciao Ciao > ho da poco rifatto un server (macchina virtuale a 32 bit con wheezy) > utilizzando stretch a 64 bit. > Non riesco però a capire perchè l'utilizzo di ram continui ad aumentare nel > corso del tempo. Perché nel corso del tempo Linux la utilizza generosamente per cache e buffer e nell'utilizzarla non bada a quella che potrebbe essere la percezione dell'utente finale. Ergo, a te pare che sia un ingordo, in realtà sta facendo il suo dovere. > La macchina ha 1,5G di ram disponibile, al riavvio i processi server ne > occupano al massimo 1/3, ma dopo circa una settimana mi restano liberi al > massimo 200M e continuano a diminuire. $free -h totalusedfree shared buff/cache available Mem: 5,8G1,8G949M 65M3,1G 3,7G Swap: 4,0G 0B4,0G Nota che per "liberi", cioè spendibili, il campo da tenere in considerazione e available, non free. 1,5G di RAM forse non sono molti, ma finché non noti chiusure anomale di applicazioni o eccessivi rallentamenti non hai di che preoccuparti. > I processi attivi sono mariadb, apache, postfix, dovecot, opendkim, ntpd e > sshd. > Ovviamente il maggior consumo è dato da mariadb e da apache, anche se > complessivamente è una macchina con un carico irrisorio (per la precedente i > 700M che aveva disponibili erano più che sufficienti) Cosa intendi? 700M di cosa? > La cosa strana è che anche killando uno ad uno i processi, la memoria non > viene rilasciata e l'unico modo per pulirla è riavviare. Perché continua a tenersi in pancia pagine e pagine di memoria sotto forma di cache e buffer. Puoi droppare cache e buffer selettivamente[¹], ma finché non riporti qual'è il problema questo rimane una non soluzione a un non problema. > Non so che tool utilizzare per capire che succede (free, top, htop non mi > aiutano ...) Hai citato il nome di programmi che sono il pane, se si vuole venire a capo di questo genere di problemi. Potresti cortesemente eseguire un free e mostrarlo alla lista? > La stretch è costantemente aggiornata, tranne il kernel che è fermo a 4.9.51-1 > > Grazie a chi mi da un buon consiglio ! > > -- > Michele Orsenigo > deb...@orsenigo.it [¹] https://unix.stackexchange.com/questions/87908/how-do-you-empty-the-buffers-and-cache-on-a-linux-system -- Felipe Salvador
Server che non rilascia la ram
Ciao ho da poco rifatto un server (macchina virtuale a 32 bit con wheezy) utilizzando stretch a 64 bit. Non riesco però a capire perchè l'utilizzo di ram continui ad aumentare nel corso del tempo. La macchina ha 1,5G di ram disponibile, al riavvio i processi server ne occupano al massimo 1/3, ma dopo circa una settimana mi restano liberi al massimo 200M e continuano a diminuire. I processi attivi sono mariadb, apache, postfix, dovecot, opendkim, ntpd e sshd. Ovviamente il maggior consumo è dato da mariadb e da apache, anche se complessivamente è una macchina con un carico irrisorio (per la precedente i 700M che aveva disponibili erano più che sufficienti) La cosa strana è che anche killando uno ad uno i processi, la memoria non viene rilasciata e l'unico modo per pulirla è riavviare. Non so che tool utilizzare per capire che succede (free, top, htop non mi aiutano ...) La stretch è costantemente aggiornata, tranne il kernel che è fermo a 4.9.51-1 Grazie a chi mi da un buon consiglio ! -- Michele Orsenigo deb...@orsenigo.it