View Full Version : Ram e applicazioni
coyote_65
29-02-2008, 16:22
ho installati 3gb di ram, se vado su "proprietà di sistema" sono correttamente viste da xp, ed anche da cpu-z, mentre corel draw12 e photoshop cs me ne danno come disponibili solo 2gb. Qualcuno saprebbe dirmi come mai?
asus p5ld2 - p4 4ghz - xp pro sp2 build 2600
ciao e grazie
ho installati 3gb di ram, se vado su "proprietà di sistema" sono correttamente viste da xp, ed anche da cpu-z, mentre corel draw12 e photoshop cs me ne danno come disponibili solo 2gb. Qualcuno saprebbe dirmi come mai?
asus p5ld2 - p4 4ghz - xp pro sp2 build 2600
ciao e grazie
Probabilmente quei due programmi sono programmi monoprocesso, come la maggior parte dei programmi e giochi che abbiamo.
Ogni processo e' limitato su windows ad avere solo 2GB di memoria virtuale disponibile per l'utente, e 2GB di memoria virtuale per il kernel.
Per alzare questo quantitativo occorre settare il parametro /3G nel file option.ini
Si parla comunque di memoria virtuale, non di memoria fisica, indipendentemente dalla memoria fisica che hai installato sulla macchina.
coyote_65
29-02-2008, 17:18
qualcosa nn mi è chiaro...
la ram è o no memoria fisica? Ne ho installato 1gb in più così da poterne assegnare di più a photoshop e corel, che normalmente sono aperti contemporaneamente.
Ma allora la dicitura "ram disponibile" nelle impostazioni dei suddetti sw a quale ram si riferisce?
:rolleyes:
qualcosa nn mi è chiaro...
la ram è o no memoria fisica? Ne ho installato 1gb in più così da poterne assegnare di più a photoshop e corel, che normalmente sono aperti contemporaneamente.
Ma allora la dicitura "ram disponibile" nelle impostazioni dei suddetti sw a quale ram si riferisce?
:rolleyes:
La mia percezione del problema e' che loro si riferiscano alla memoria virtuale.
Se cosi' non fosse (e non posso saperlo, non avendoli) cancella tutto e scusa.
Ma se cosi e', se metti il parametro /3G di cui sopra, quei 2 programmi (processi?) potranno instanziare fino a 3GB di memoria virtuale a testa.
Il che sollecitera' il sistema operativo a mantenerne quanta piu' possibile in memoria fisica, al limite tenerci solo quello dei due programmi che stai usando in quel momento (Es: Corel)
Quindi non e' che non stai usando il 3GB che hai messo, lo stai gia' usando comunque, ma non tutti e 3 i GB sono in questo momento per Corel.
Se vuoi aiutare Corel "secondo me" (ovvero se e' vero che il parametro di cui sopra e' la memoria virtuale allocabile dal programma in questione) devi abilitare il /3G
Poi resta che non potra' restarci solo Corel in memoria fisica ovviamente, perche' parte deve essere lasciata al sistema operativo (kernel), parte alla cache e parte ad altri programmi, come i servizi piu' usati, che sono sempre attivi e quindi molto probabilmente sempre in memoria.
coyote_65
29-02-2008, 17:46
grazie intanto per la pazienza.
Chiaro che il kernel si tiene parte della ram, ma già al momento dell'avvio, visto che, quando avevo 2gb, le apps na avevano disponibili qualcosa in meno, corrispondente a quella che usa xp (credo).
Ho sempre assegnato circa il 60% a photoshop e il 30 a corel, sono le uniche 2 app "grosse" attive in contemporanea, e nn ho mai avuto problemi.
Quando corel ha cominciato a dare segni di "directory temp piena" o "impossibie salvare, memoria insufficiente" ho aggiunto 1gb, pensando che se lo spartissero in percentuale le 2 app, invece continuano ad averne disponibili solo 2gb e nn ho risolto il problema...
I dischi di swap per le 2 app e sono chiaramente diversi.
eventualmente com'è il discorso del \3g in option.ini?
ciao
grazie intanto per la pazienza.
Figurati. siamo qui per diletto e non per lavoro. se rispondo e' perche' mi va. e ora guardacaso mi va :D:D
I programmi/processi richiedono a Windows un quantitativo di memoria. Ma richiedono sempre memoria virtuale, non richiedono memoria fisica. La gestione della memoria fisica e' demandata al sistema operativo. E' lui che decide quali sono le pagine virtuali che devono risiedere di volta in volta nella memoria fisica.
Come dicevo, ciascun processo sotto Win32 non puo' nativamente vedersi allocato piu' di 2GB di memoria virtuale. Ne consegue che non andra' mai a beneficiare di qualunque quantitativo di memoria tu metti sulla macchina.
Sotto Win32bit Server p.es. potresti avere per alcune versioni anche fino a 64GB di RAM, ma un singolo processo, potendo vedersi allocata al massimo 2GB di RAM virtuale, potra' alla meglio occupare 2GB di memoria fisica, qualora tutte le sue pagine venissero caricate in RAM.
Se photoshop e Corel sono due applicazioni classiche, monoprocesso, sottostanno alla stessa regola. Non potranno chiedere mai piu' di 2GB di memoria virtuale a windows, e quindi mai piu' di 2GB della loro memoria risiedera' sulla memoria fisica.
tutto cio' a meno che tu non abiliti il parametro /3G, che serve appunto per indicare a Windows che abbiamo qualche processo ciccione (es Corel) che puo' chiedere fino a 3GB, e che quindi sara' autorizzato a darglielo.
In quel caso quindi potrebbe capitare che tutta la memoria da 3GB allocata per Corel vada a finire in memoria fisica, sempre che tu abbia almeno 3GB di memoria fisica (qualcosa in piu' per Kernel e SystemCache e altri programmi, come dicevamo prima)
Abilitare /3G significa che Corel puo' chiedere fino a 3GB di memoria virtuale. Cio' significa che Corel con questo parametro dovrebbe poter chiedere 3GB anche se tu avessi 1 solo GB di memoria fisica, ma magari 4GB di swap file. La memoria virtuale serve appunto a questo, ovvero a poter allocare e utilizzare in maniera trasparente (o quasi, a parte la lentezza) quantitativi di memoria che non si hanno a disposizione fisicamente sulla macchina, chiedendo temporaneamente aiuto ai dischi.
Prova a metterlo, guarda se cambia quel numero e tireremo le conclusioni. Sicuramente male non fa.
apri il file boot.ini (non option.ini, scusa la confusione) sito sulla root dell'hard disk, e sulla riga dell'installazione corrente (una sola se hai un solo windows) edita e aggiungi semplicemente /3G
Qualcosa tipo questo:
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="XP full 3GB setting" /3GB /fastdetect /NoExecute=OptIn
Poi dovrai riavviare.
coyote_65
29-02-2008, 18:37
mmm allora, se ho capito bene, se io avessi 4gb di ram, e corel e photoshop ne avessero assegnate il 100% (in quanto ne vedono sempre 2gb) questo significa che i 4gb verrebbero ripartiti ed utilizzati tutti e 4 dalle 2 apps?
mmm allora, se ho capito bene, se io avessi 4gb di ram, e corel e photoshop ne avessero assegnate il 100% (in quanto ne vedono sempre 2gb) questo significa che i 4gb verrebbero ripartiti ed utilizzati tutti e 4 dalle 2 apps?
Si', a parte il fatto che se hai un XP32bit o un Vista32bit non potrai mai avere 4GB di memoria fisica completamente disponibile per il sistema, ma alla meglio una media massima che varia tra 2.7GB-3.5GB a seconda delle periferiche in memory mapping da te installate sulla tua macchina.
Ricorda nei calcoli che c'e' sempre una base di memoria fisica dedicata al Kernel, una parte alla system cache e una parte alle altre applicazioni di sistema sempre presenti come i servizi fondamentali, che per il fatto di essere usati sempre molto improbabilmente usciranno dalla memoria fisica per andare sul file di scambio (alcuni proprio non escono mai)
E sempre fatto salvo il fatto che i (es) 3.1GB fisici allocabili dal tuo sistema siano utilizzati in quel momento da Windows al 100%, senza che lui stia tenendo un po' di RAM libera per future possibili esigenze. Insomma, non sarai mai sicuro che un'applicazione sia completamente in memoria fisica. Dipende da molti fattori, principalmente l'uso che viene fatta di ciascuna pagina di memoria virtuale (da 4KB, 2MB o 4MB, a seconda dell'installazione). Le pagine che non vengono usate per troppo tempo vengono scaricate su disco.
coyote_65
01-03-2008, 09:43
in definitiva nn è in pratica molto producente avere più di 2 gb di ram allora... parlando di xp pro. A meno che di nn variare questo max con l'aggiunta di 3g?
A proposito, in pratica mi basta aggiungere 3G/ prima di fasdetect? Non c'è pericolo che dopo nn si riavvia più win?
Mettendo 4G funziona lo stesso? Nel senso che abilita 4 gb?
ciao e grazie
in definitiva nn è in pratica molto producente avere più di 2 gb di ram allora... parlando di xp pro. A meno che di nn variare questo max con l'aggiunta di 3g?
Non e' vero. XPpro puo' tranquillamente gestire e usare tutta la memoria fisica che riesce ad indirizzare (non piu' di 4GB, ma sicuramente meno, 3.5GB massimo direi oggi) anche senza il parametro /3G
3G e' il limite di memoria per processo, ma niente limita Windows ad avere piu' processi contemporaneamente. Se apri il task manager vedrai quanti processi hai ora sulla macchina. Io ne avro' una trentina. Ciascuno di questi e' limitato a 2GB. Ne basterebbero 2 ciccioni da 2GB neppure completamente caricati in RAM per usare tutta la memoria fisica montata.
A proposito, in pratica mi basta aggiungere 3G/ prima di fasdetect? Non c'è pericolo che dopo nn si riavvia più win?
Mettendo 4G funziona lo stesso? Nel senso che abilita 4 gb?
ciao e grazie
Mi raccomando, la barra va prima del numero. e' /3G, non 3G/
Si' devi metterlo sulla linea, va bene prima di /FASTDETECT
4G non esiste.
Se stai progettando un software che prevede di dover usare piu' di 3GB di memoria, considera l'opportunita' di fare un software multiprocesso (Es: SqlServer), dove ciascuno dei tuoi processi saranno limitati a 2GB (o 3GB se l'utente ha messo sto parametro), e ne potrai avere quanti ne vuoi.
Quello che intendo dire e' che "forse" Corel non l'abbia fatto, e che quindi questo parametro puo' aiutarlo.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.