View previous topic :: View next topic |
Author |
Message |
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Sep 08, 2006 7:06 pm Post subject: |
|
|
klaimath wrote: | La cosa anormale è che ogni tot mi costringa a riavviare per liberare la memoria.
|
No, ti costringe a riavviare per un motivo non meglio identificato ...
come fai a sostenere che devi liberare memoria se non ci sono programmi che usano ram e se sai che non ti puoi aspettare di vedere la ram non usata come pretendi di liberarla ?
klaimath wrote: | P.S. Che patch dici ?
|
Ironizzavo sul fatto che, visto che il kernel si alloca tutta la ram, se vuoi vederla libera devi scriverti una patch che modifichi il comportamento del kernel in modo che non allochi preventivamente la ram. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
GiRa l33t
Joined: 07 Apr 2005 Posts: 717
|
Posted: Sat Sep 09, 2006 7:37 am Post subject: Re: La ram non si svuota mai |
|
|
klaimath wrote: |
Code: |
klaimath@morpheus:~$ free
total used free shared buffers cached
Mem: 1036096 280716 755380 0 8956 163984
-/+ buffers/cache: 107776 928320
Swap: 522104 0 522104
klaimath@morpheus:~$
|
|
Scusa: di cosa ti lamenti con 107MB di ram occupata? Mi sa che devi documentarti sul caching!
La RAM costa cara quindi è meglio occuparla il più possibile!
Il tuo PC rallenta per un'altro motivo. |
|
Back to top |
|
|
=DvD= Veteran
Joined: 25 Mar 2004 Posts: 1353
|
Posted: Sat Sep 09, 2006 10:34 am Post subject: |
|
|
Ma tu sei costretto a riavviare peche' rallenta tutto o solo perche' vedi la "ram a zero"? |
|
Back to top |
|
|
klaimath Apprentice
Joined: 18 Jun 2006 Posts: 213
|
Posted: Sat Sep 09, 2006 3:40 pm Post subject: |
|
|
Scusatemi tutti.
Ieri dopo aver fatto questo post mi è arrivata una tegola lavorativa sul gruppone e ho dovuto badare a quella.
Dunque l'indicazione della ram che ho mostrato qualche post sopra si riferisce a computer APPENA ACCESO e per questo è tutta libera, mentre dopo un'ora circa di utilizzo ho questa situazione.
Cerco di impaginarla meglio.
Code: |
klaimath@nabucco-donosor:~$ free
total used free shared buffers cached
Mem: 1036868 1022346 14522 0 77160 506552
-/+ buffers/cache: 170220 866648
Swap: 2096440 0 2096440
|
A questo punto devo riavviare perchè solo ad aprire un programma come konqueror ci mette qualcosa come diversi minuti.
Si ho provato diversi kernel sia vanilla che gentoo ma non cambia di una virgola e la swap è formattata, anche se si vedeva male come impaginazione (scusate) e attiva.
Saluti
Adriano |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Sat Sep 09, 2006 4:10 pm Post subject: |
|
|
klaimath wrote: | Dunque l'indicazione della ram che ho mostrato qualche post sopra si riferisce a computer APPENA ACCESO e per questo è tutta libera, mentre dopo un'ora circa di utilizzo ho questa situazione. |
La cosa anomala, relativamente al to problema, e' che la swap non viene utilizzata (ma viene vista), il che mi farebbe pensare che la colpa possa essere di qualcos'altro.
Stai usando LDFLAGS particolari?
Prelinking?
La configurazione del kernel?
Su quest'ultimo punto, supponendo possa esserci qualche opzione particolarmente esoterica che hai selezionato, un tentativo che potresti fare e' quello di configurare un kernel con genkernel e provare con quello. _________________ Ciao da me! |
|
Back to top |
|
|
kueitao Apprentice
Joined: 22 Jan 2005 Posts: 241
|
Posted: Sat Sep 09, 2006 4:25 pm Post subject: |
|
|
Torno al forum di tanto in tanto e accade di trovare sempre qualcuno preoccupato (1) perché l'utilizzo medio della CPU risulta essere molto minore del 100% oppure (2) perché l'utilizzo medio della RAM è invece prossimo al 100%...
Sul primo FALSO problema ho scritto più volte, per esempio vedi https://forums.gentoo.org/viewtopic-p-3498325-highlight-.html#3498325 e soprattutto altro mio post più avanti (sullo stesso thread).
Sul secondo FALSO problema ho scritto diverse volte e per esteso ho spiegato i meccanismi interni al kernel che gestiscono i diversi tipi logici di memoria allocata ai processi utente e allo stesso kernel per le sue strutture dati. (Purtroppo non riesco a trovare qualche link come ho fatto sopra ed inizio a pensare che si trattava di qualche altro forum...)
In estrema sintesi: qualcuno ha già scritto che un utilizzo prossimo al 100% è normale... Io aggiungo che non solo è NORMALE ma è anche frutto di un utilizzo INTELLIGENTE ed EFFICIENTE da parte del kernel di una risorsa (RAM) che è sempre troppo poca e costosa.
Il kernel implementa i cosidetti "principi di località fisico-temporale" e di "caching logico". Si ipotizza che i processi dell'utente, come anche i vari "kernel execution paths" (sta più o meno per "percorsi di esecuzione nel/del kernel") riferiranno prima o poi (più prima che poi!) nel tempo le stesse strutture dati già manipolate nel recente passato in lettura e/o scrittura e soprattutto porzioni di dati "prossime" alle precedenti. Quindi mantenere tali informazioni in RAM, quando di questa ne rimane a sufficienza per le altre esigenze dell'intero sistema in quel "frame temporale", è cosa buona e saggia.
Per coloro a cui non fosse ancora chiaro si propone un esempio tra i tanti possibili... Una buona fetta di RAM è usata per la cosidetta "Page Cache". Questa è solo una delle diverse zone logiche di memoria gestite dal kernel in modo intelligente ed efficiente per conto dei felici (!) utenti di sistema Linux. L'obiettivo di questa cache è quella di minimizzare l'I/O conservando in RAM quei dati per i quali con buona probabilità il kernel sarebbe
costretto ad accedere su hard disk. Immagino che tutti sappiano come l'I/O su dischi sia decine di volte più lento di quello su RAM.
Ovviamente il precedente meccanismo ("Page Cache") è solo una tra le diverse strategie implementate in Linux che similmente allocano in qualche modo quantità di memoria fisica per contribuire, di concerto a tutti gli altri sottosistemi, a rendere il nostro kernel preferito così performante.
Per completezza aggiungo che Linux possiede anche un ottimo sistema di "Page Frame Reclaiming" per liberare e rendere disponibili per futuro utilizzo quelle aree di memoria che di volta in volta ritiene non sia più conveniente mantenere dedicate a specifici compiti.
Spero di essere stato chiaro. Purtroppo in questa sede non è facile approfondire maggiormente.
Buon divertimento.
fabio de francesco |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Sat Sep 09, 2006 4:50 pm Post subject: |
|
|
kueitao wrote: | Spero di essere stato chiaro. Purtroppo in questa sede non è facile approfondire maggiormente. |
Da quello che ho capito il problema, anche se inizialmente imputato alla ram, e' da qualche altra parte... _________________ Ciao da me! |
|
Back to top |
|
|
!equilibrium Bodhisattva
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sat Sep 09, 2006 5:15 pm Post subject: |
|
|
imposta in /etc/sysctl.conf:
così vedi cosa effettivamente ti occupa la RAM (sempre che ci sia qualcosa che la occupi) _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5
Last edited by !equilibrium on Sat Sep 09, 2006 5:15 pm; edited 1 time in total |
|
Back to top |
|
|
kueitao Apprentice
Joined: 22 Jan 2005 Posts: 241
|
Posted: Sat Sep 09, 2006 5:37 pm Post subject: |
|
|
!equilibrium wrote: | imposta in /etc/sysctl.conf:
così vedi cosa effettivamente ti occupa la RAM (sempre che ci sia qualcosa che la occupi) |
Forse fai prima con:
Code: | echo 3 > /proc/sys/vm/drop_caches |
Posta l'output di due (uno prima della precedente operazione e il secondo dopo):
Aggiungi anche l'output della utility "top".
EDIT: Lascia perdere "top", per il controllo che voglio fare meglio "ps aux".
Ovviamente quanto sopra deve essere eseguito dopo che il sistema inizia a rallentare vistosamente.
fabio |
|
Back to top |
|
|
kueitao Apprentice
Joined: 22 Jan 2005 Posts: 241
|
Posted: Sat Sep 09, 2006 6:29 pm Post subject: |
|
|
randomaze wrote: | kueitao wrote: | Spero di essere stato chiaro. Purtroppo in questa sede non è facile approfondire maggiormente. |
Da quello che ho capito il problema, anche se inizialmente imputato alla ram, e' da qualche altra parte... |
Devo chiedere scusa. La prima lettura è stata (troppo) veloce e condizionata immediatamente dall'idea che chi ha aperto il thread fosse semplicemente preoccupato per aver osservato un utilizzo della RAM prossimo al 100% senza peraltro rilevare nessun reale problema nell'uso della macchina.
Invece sembra che qualcosa non funzioni e spero che si possa rilevare con i comandi che ho consigliato nel post precedente.
Le condizioni che possono portare alla situazione descritta, cioè ad un rallentamento estremo con potenziale blocco di qualsiasi operazione, non sono poi molti:
1) Esaurimento di RAM (+ SWAP).
2) Errori di programmazione del kernel.
3) Guasti hardware.
La prima categoria è immediatamente riconoscibile come ricordato sopra.
La seconda categoria può necessitare di una ricerca più complessa che arriva fino alla revisione del codice. In questo secondo caso è necessario che l'utente fornisca una serie di informazioni che probabilmente non è in grado di reperire. Al limite l'output di SysReq-P e SysReq-T sarebbe già un ottimo inizio. Per questa eventualità ricordo che l'output delle precedenti "System Requests" viene registrato generalmente in /var/log/messages e si può operare da questo file verso il forum con un semplice copa-incolla.
Per i guasti hardware... Dio ci salvi!
Saluti.
fabio |
|
Back to top |
|
|
klaimath Apprentice
Joined: 18 Jun 2006 Posts: 213
|
Posted: Sat Sep 09, 2006 9:37 pm Post subject: |
|
|
kueitao wrote: |
Da quello che ho capito il problema, anche se inizialmente imputato alla ram, e' da qualche altra parte...
Devo chiedere scusa. La prima lettura è stata (troppo) veloce e condizionata immediatamente dall'idea che chi ha aperto il thread fosse semplicemente preoccupato per aver osservato un utilizzo della RAM prossimo al 100% senza peraltro rilevare nessun reale problema nell'uso della macchina.
Invece sembra che qualcosa non funzioni e spero che si possa rilevare con i comandi che ho consigliato nel post precedente.
Le condizioni che possono portare alla situazione descritta, cioè ad un rallentamento estremo con potenziale blocco di qualsiasi operazione, non sono poi molti:
1) Esaurimento di RAM (+ SWAP).
2) Errori di programmazione del kernel.
3) Guasti hardware.
La prima categoria è immediatamente riconoscibile come ricordato sopra.
La seconda categoria può necessitare di una ricerca più complessa che arriva fino alla revisione del codice. In questo secondo caso è necessario che l'utente fornisca una serie di informazioni che probabilmente non è in grado di reperire. Al limite l'output di SysReq-P e SysReq-T sarebbe già un ottimo inizio. Per questa eventualità ricordo che l'output delle precedenti "System Requests" viene registrato generalmente in /var/log/messages e si può operare da questo file verso il forum con un semplice copa-incolla.
Per i guasti hardware... Dio ci salvi!
Saluti.
fabio |
Ciao Fabio mi fa piacere questo tuo post visto che il precedente mi aveva un pò fatto storcere il naso.
Dunque il problema penso di averlo individuato nel punto 3 che hai descritto in quanto prima, in occasione del ennesimo riavvio, ho avuto dei messaggi strani ed un improvviso kernel panic che mi hanno indirizzato verso il bios del pc con conseguente controllo delle impostazioni.
Tralasciando il fatto che Lunedi mattina scendo dai "TECNICI" (notare la maiuscola) e li prendo per il collo ... che sto pc è overcloccato e configurato alla vincere vinceremo potevano anche dirlo ... il problema penso che risieda proprio nei banchi di ram ed in particolare in quello a 400Mhz.
Aprendo il computer ho trovato, assieme a 20kg di polvere, 2 banchi da 512MB uno a 333Mhz e uno a 400Mhz. Di per se questo non vorrebbe dire nulla perchè una mobo un dual channel (correggetemi se sbaglio) dovrebbe settare per entrambe la stessa frequenza. Il problema è che il banco a 400Mhz non passa il memtest.
Ora sto usando il pc con solo 512MB da circa 2 ore e non riscontro i problemi che riscontravo prima ma anzi va meglio pur avendo la metà di memoria.
Potrei anche mettere il tag [RISOLTO] ma preferisco aspettare Lunedi sera in modo da lavorare almeno una giornata con 1GB di memoria sicuramente funzionante e di pari frequenza.
Già che ci siamo approfitto della vostra gentilezza per chiedere un consiglio.
Ho un portatile con su installato Gentoo (vecchio Acer Aspire 1400XV) e per gestire meglio la memoria uso questa impostazione nel file sysctl.conf
in modo da ridurre al minimo gli accessi al disco e liberare tutta la ram possibile. Sul desktop per adesso l'ho impostato a 35 ma pensavo di abbassarlo ulteriormente portandolo agli stessi valori del Acer.
Che ne pensate ?
Saluti
Adriano |
|
Back to top |
|
|
kueitao Apprentice
Joined: 22 Jan 2005 Posts: 241
|
Posted: Sat Sep 09, 2006 11:38 pm Post subject: |
|
|
klaimath wrote: | Già che ci siamo approfitto della vostra gentilezza per chiedere un consiglio.
Ho un portatile con su installato Gentoo (vecchio Acer Aspire 1400XV) e per gestire meglio la memoria uso questa impostazione nel file sysctl.conf
in modo da ridurre al minimo gli accessi al disco e liberare tutta la ram possibile. Sul desktop per adesso l'ho impostato a 35 ma pensavo di abbassarlo ulteriormente portandolo agli stessi valori del Acer.
Che ne pensate ?
Saluti
Adriano |
Il mio consiglio è di non modificare il valore di default che generalmente è 60. Almeno non discostarti di oltre il 20% (in valore assoluto). Un valore minimo di 40 potrebbe funzionare bene nel tuo caso (forse però per motivi diversi da quelli che credi). In ogni caso questo valore è soggetto a verifica sul campo...
Questo numero entra nel computo della "swap tendency" secondo una funzione che tiene conto di un altro paio di parametri per modificare sensibilmente il comportamento del "Page Frame Reclaiming Algorithm", in particolare riguardo alla "tendenza" a recuperare pagine di memoria operando copie in area swap e/o sincronizzando il file system liberando "page cache".
Credo che la eventuale suddetta modifica dovrebbe essere operata solo a seguito di completa comprensione delle diverse implicazioni oltre che dopo avere effettivamente misurato (con gli opportuni strumenti di profiling) l'eventuale aumento di efficienza del sistema nelle condizioni di suo carico tipico. Tra l'altro esistono anche altri parametri (pure manipolabili tramite scrittura sui files della directory /proc/sys/vm) che incidono profondamente sulla gestione del "virtual memory subsystem" e di cui si dovrebbe tenere conto in un quadro più generale e complesso.
Purtroppo ciò che vuoi ottenere, cioè con tue parole "ridurre al minimo gli accessi al disco e liberare tutta la RAM possibile", è una contraddizione in termini: La RAM è liberata tanto più le pagine di tipo "swappable" sono copiate su disco in area swap come anche quante più pagine di tipo "syncable" sono sincronizzate con l'immagine su disco...
Cheers.
fabio de francesco
PS.: Dai un paio di legnate ai quei tizi che ti hanno installato i due diversi banchi di memoria senza verificarne il corretto funzionamento con un "memtest" prima di consegnare la macchina. |
|
Back to top |
|
|
GiRa l33t
Joined: 07 Apr 2005 Posts: 717
|
Posted: Sun Sep 10, 2006 9:28 am Post subject: |
|
|
klaimath wrote: | Scusatemi tutti.
Dunque l'indicazione della ram che ho mostrato qualche post sopra si riferisce a computer APPENA ACCESO e per questo è tutta libera, mentre dopo un'ora circa di utilizzo ho questa situazione.
Cerco di impaginarla meglio.
Code: |
klaimath@nabucco-donosor:~$ free
total used free shared buffers cached
Mem: 1036868 1022346 14522 0 77160 506552
-/+ buffers/cache: 170220 866648
Swap: 2096440 0 2096440
|
A questo punto devo riavviare perchè solo ad aprire un programma come konqueror ci mette qualcosa come diversi minuti. |
RIPETO! Il problema è un altro!!! Hai solo 170220 byte di RAM fisica occupata dai processi!! |
|
Back to top |
|
|
kueitao Apprentice
Joined: 22 Jan 2005 Posts: 241
|
Posted: Sun Sep 10, 2006 12:09 pm Post subject: |
|
|
GiRa wrote: | RIPETO! Il problema è un altro!!! Hai solo 170220 byte di RAM fisica occupata dai processi!! |
Ripeti inutilmente. Se ne è accorto!
Ha già spiegato che il "memory test" mostra problemi con uno dei due banchi: il problema è dovuto all'hardware.
Please, rileggi con maggiore attenzione l'ultimo post di Adriano (klaimath). Il testo che hai quotato (in merito a "swappines") si riferisce ad una domanda su un argomento differente che comunque, per regola e chiarezza, avrebbe dovuto porre in un nuovo thread.
Saluti.
fabio de francesco |
|
Back to top |
|
|
klaimath Apprentice
Joined: 18 Jun 2006 Posts: 213
|
Posted: Mon Sep 11, 2006 1:08 pm Post subject: |
|
|
Ok tecnici appesi per il collo ad lampione e ram cambiata. Ora funziona tutto bene.
Saluti
Adriano |
|
Back to top |
|
|
|