Newsgroup: it.comp.macintosh
Titolo: Problema di memoria

Cia a tutti gli enigmisti,
Vi espongo il mio problema. Nel mio PowerMac Dual G5 ho 1,25 GB di RAM.
In una situazione di lavoro tipica (circa 700 MB di suoni orchestrali
caricati in memoria) la RAM viene riempita completamente. La dimensione
della memoria virtuale è di oltre 15 GB.
Se portassi la RAM a 3 GB, potrei sperare in un minor uso del disco, e
quindi una maggiore reattività del sistema? E se mi accontantassi di
soli 2 GB, i lvantaggio sarebbe nettamente inferiore?
Ora chiedo una cosa agli indovini: con Leopard ci sarà bisogno di più
memoria fisica ancora?
Ciao,
Paolo

 soli 2 GB, i lvantaggio sarebbe nettamente inferiore?
E` difficile tirare a indovinare il "working set" (la quantita` di
memoria che deve essere "fisicamente presente" per evitare sostanziali
quantita` di paginazione a/da disco) sapendo solo la dimensione di
memoria virtuale, ma dovendo "sparare" una frazione direi che e`
generalmente probabile che il WS sia almeno del 20% della memoria
virtuale, quindi 3GB nel tuo caso.  Sempre "molto a naso", possiamo
valutare che un po' meno di 1/2 GB fisico sia tipicamente usato per
tenere il codice e altre tabelle sostanzialmente "read-only" (impatto
prestazionale minore, in caso di paginazione, poiche` sono informazioni
che, non venendo modificate, il sistema non ha bisogno di _salvare_ su
disco quando deve liberare spazio).
Con questi parametri (pescati un po' a caso:-) potremmo dire che il tuo
attuale sistema usa 0.75 GB (su 2.5 GB "desiderabili") per i dati in
corso di elaborazione, coprendo quindi 0.75/2.5 = il 30% del fabbisogno;
con 2GB, ne useresti 1.5 per i dati, coprendo il 60% del fabbisogno; con
3GB, ne useresti 2.5 per i dati, coprendo il 100% del fabbisogno.  Di
conseguenza, le prestazioni dovrebbero migliorare sostanzialmente
passando a 2GB, e ancora di piu` passando a 3GB.  Si puo` applicare la
legge di Amdahl per quantificare i miglioramenti sperati, anche se
ovviamente visto che tutti questi numeri di partenza non sono
accuratamente misurati, ma stimati molto a naso, i risultati (nonostante
che la legge in questione sia rigorosamente valida) saranno meramente
indicativi, assolutamente non pecisi.  Supponiamo che oggi, ad esempio,
il sistema usi circa il 60% del tempo a fare paginazione: un certo
compito richiede 100 secondi, di cui 40 di elaborazione vera e propria e
60 di overhead di paginazione.  Se coprissi il doppio del fabbisogno,
dimezzando quindi la paginazione, lo stesso compito terminerebbe in 70
secondi (40 di elaborazione, 30 di paginazione): accelerazione netta
prevista del 30% portando la memoria a 2GB.  Se coprissi l'intero
fabbisogno, rendendo quindi trascurabile l'overhead di paginazione
(proprio a zero zero non andra` mai, ma puo` abbassarsi sino ad un
epsilon trascurabile), lo stesso compito terminerebbe in 40 secondi (il
puro tempo di elaborazione vera e propria): accelerazione netta prevista
del 60% portando la memoria a 3GB.  Se gia` avessi 2GB, passando a 3GB
prevederesti un'accelerazione da 70 a 40 secondi, il 43%.
Parecchi dei fenomeni in gioco diventano nonlineari quando la scarsita`
di memoria fisica rispetto alle esigenze del working set diviene
eccessiva (il fenomeno noto come "thrashing"), e con gli scarsi
parametri numerici che ci dai non si puo` escludere che tu operi in
condizioni di thrashing (nel qual caso i miglioramenti potrebbero essere
anche piu` sostanziali, aggiungendo abbastanza memoria da riportare
l'operazione entro la "normale" gamma di comportamento lineare).  Se
vuoi stime, pur sempre  "a occhio", ma un pochino piu` precise, dovresti
darci piu` punti di dati misurati, tipo: come e` il comportamento
prestazionale "a mezzo carico" (con 350MB invece di 700MB di dati
caricati e quindi memoria virtuale a 7.5GB circa)?  Cosa dice "top" (da
terminale) relativamente al tuo processo e a quelli di sistema nei due
casi (pieno carico e mezzo carico)?  E cosi` via.  Ma, a scopi pratici,
penso che tu possa risparmiarti tutte queste misurazione e far conto su
di un miglioramento notevole previsto per un upgrade a 2GB, e ancora
proporzionalmente maggiore se l'upgrade e` a 3GB.
Alex


 Alex
Sono (positivamente) impressionato dalla tua analisi.
Enzo.

 Io non avrei mai la tua pazienza.
Heh heh, Anna e io stiamo preparando la casa (e soprattutto i cibi e le
bevande) per una cinquantina di ospiti che verranno alla nostra Festa
della Befana stasera, e scrivendo quel Tractatus mi sono guadagnato una
scusa valida per 20 minuti buoni di pausa...;-)
Alex

 wrote:
[lungo taglio]
Beh, grazie, sono commosso: non solo ora so quanta memoria mi serve, ma
anche perché!
Piazzato l'ordine per arrivare a 3GB.
Ciao,
Paolo


| |._/|_|\__/\__/\__/ | 
|        /_/ /_/      | *Si vis pacem, para papunzi

 Piazzato l'ordine per arrivare a 3GB.
Con la loro brava scatolina con dedica al PowerMac, sono arrivati i due
moduloni Geil, racchiusi in generosi dissipatori in alluminio. Che la
RAM scaldi parecchio lo testimonia anche l'accensione piů frequente
delle ventole.
Previsioni azzeccate: i campioni vengono caricati in memoria in un tempo
molto piů breve, e tutto scorre assai piů liscio (visualizzazione, avvio
della riproduzione, pasaggio da una finestra all'altra...).
In compenso, il sistema si č subito arraffato 850 MB di RAM, ed ha
allocato 1,6 GB come memoria inattiva. Avido! La memoria virtule, perň,
si č ridotta a meno di 9 GB (da circa 15 che erano con 1,25 GB di RAM
fisica).
Ciao,
Paolo

 fisica).
Questa non la capisco bene... sei sicuro di stare facendo esattamente le
stesse sequenze di operazioni?  La quantita` di memoria virtuale, a
parita` di ogni altro fattore, non dovrebbe ridursi cosi` drasticamente
con un aumento anche sostanziale della RAM fisica.  Sto solo cercando di
capire meglio i meccanismi in gioco...
Alex

 stesse sequenze di operazioni?
No, infatti. Aprendo Classic, quasi altri 2 GB di memoria virtuale se ne
sono andati. Evidentemente, non ho effettuato i rilievi nelle stesse
condizioni.
Ciao,
Paolo

 memoria fisica ancora?
se girerai solo applicazioni a 32bit o solo a 64bit presumibilmente non
tanta
se girerai contemporanemanete applicazioni a 32 e 64 bit si