|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 5795
|
Superare il limite dei 3,25 GB di RAM tramite pagefile.sys: possibile?
E' noto che XP, Vista e Seven a 32 bit possono gestire al massimo 4 GB di RAM in teoria, in pratica il limite è inferiore e dipende dal PC, in genere il limite è di 3,25 GB.
Leggendo questo articolo sul sito della Microsoft (Comparison of 32-bit and 64-bit memory architecture for 64-bit editions of Windows XP and Windows Server 2003) ho notato che il limite dei 4 GB riguarda anche la memoria virtuale, però il file pagefile.sys ha un limite di 16 TB (per XP, per le altre versioni non ho trovato informazioni). Ho 2 domane a riguardo. 1) Che differenza c'è tra memoria virtuale, swap e il file pagefile.sys? Fino ad adesso pensavo fossero la stessa cosa, ma visto l'articolo evidentemente non è così. 2) E' possibile con XP, Vista e Sever 32 bit superare il limite della RAM, tramite il pagefile.sys, cioè per esempio 3,25 GB (RAM) + 5 GB (pagefile.sys) = 8,25 GB (memoria totale)? Anche se si avrà ovviamente un rallentamento consistente, visto che l'accesso all'hard disk è molto più lento di quello alla RAM, però se fosse possibile si eviterebbe almeno il blocco del sistema per memoria esaurita. Ultima modifica di Alex_80 : 21-12-2009 alle 00:32. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2003
Città: venezia
Messaggi: 18653
|
Qui trovi alcune risposte alla tue domande :
http://it.wikipedia.org/wiki/Paging Il file pagefile.sys consigliano di settarlo a una dimensione doppia della ram fisica del pc , per evitare il messaggio "memoria insufficente " che appare in qualche occasione . |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2004
Messaggi: 1187
|
Magari dico una fregnaccia, ma se il 4° gb di ram lo trasformiamo in ramdisk? mettendoci dentro il file di paging? o una parte? potrebbe essere quasi come avere 4gb?
Lo sò, è na ca.......a ![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 1999
Città: Tivoli (RM)
Messaggi: 18335
|
Io con il giga inutilizzato ho utilizzato ramdisk e ci ho collocato il readyboost,è poco ma fa qualcosa.
Il file di paging di 1Gb è praticamente inutile (troppo piccolo).
__________________
Mi chiamo Silvio,molto piacere. Il mio sito...La mia configurazione e i miei test su windows 8 I ♥ my Galaxy NoteIII 7505 NEO (JB 4.3).......vendo varie |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 5795
|
Quote:
* pagefile.sys e swap sono la stessa cosa * memoria virtuale = RAM + pagefile.sys (o swap) in uso * pagefile.sys (o swap) = pagefile.sys (o swap) in uso + pagefile.sys (o swap) temporaneamente non in uso o non usato se ciò fosse vero sarebbe plausibile una memoria virtuale di 4 GB reali (3,25 GB di RAM + 0,75 GB di pagefile.sys in uso), nel caso ci fosse la necessità di usare più memoria i dati temporaneamente non utili verrebbero spostati nel pagefile.sys non in uso liberando RAM e memoria virtuale, se tutto questo fosse vero la risposta alla mia domanda sarebbe, sì, è possibile superare il limite di 3,25 o 4 GB di memoria fino ad arrivare a 16 TB con sistemi a 32 bit (ovviamente sto parlando di memoria totale non RAM). Sono gradite eventuali correzioni. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 5795
|
Provo a spiegarmi meglio con un esempio pratico, i valori che riporto sono indicativi, perché per esempio sarà molto difficile che quando la RAM è insufficiente vengano usati tutti o quasi i 3,25 GB disponibili, piuttosto che per esempio 3 GB o 2,5 GB, potrei scrivere cose errate, tuttavia lo scopo della domanda è proprio capire come funziona la gestione della memoria.
---Configurazione PC--- sistema operativo: 32 bit RAM installata: 4 GB RAM rilevata dal sistema operativo: 3,25 GB dimensione fissa file pagefile.sys o swap: 5 GB ---Scenario 1--- memoria richiesta: 3 GB memoria virtuale allocata: 3 GB RAM usata: 3 GB pagefile.sys o swap: 0 GB ---Scenario 2--- memoria richiesta: 4 GB memoria virtuale allocata: 4 GB RAM usata: 3,2 GB pagefile.sys o swap: 0,8 GB ---Scenario 3--- memoria richiesta: 6 GB memoria virtuale allocata: 4 GB RAM usata: 3,2 GB pagefile.sys o swap: 0,8 GB (in uso dalla memoria virtuale) + 2 GB (non in uso dalla memoria virtuale) = 2,8 GB Nello scenario 1 il PC funziona senza problemi, però quando passo nello scenario 2 e 3 il PC rallenta perché usa l'hard disk come memoria aggiuntiva oppure si blocca? |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Sep 2007
Messaggi: 2830
|
Esatto, noterai importanti rallentamenti quando la ram fisica non sarà più sufficiente ed il sistema dovrà continuamente spostare aree di memoria dalla ram al disco e viceversa. Se hai un gioco che occupa 2GB (ad esempio) e apri altri programmi che richiedono complessivamente 3GB e li usi mentre il gioco è in pausa allora il sistema copierà la ram occupata dal gioco (non utilizzato in quel momento) nel disco. Se poi passi a riprendere a giocare, il sistema dovrà, copiare parte della ram occupata dai programmi nel disco e ricaricare dal disco stesso la parte relativa la gioco.. Tutto questo ti farà andare il pc a scatti
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 305
|
Guardate che il file di scambio non c'entra una mazza con la memoria fisica indirizzabile...
Puoi avere un file di scambio da 10 giga (auguri), e un sistema operativo a 32 bit che lo gestisce... Si pesca le informazioni dal disco ovunque siano e le piazza in RAM all'occorrenza nelle celle che può indirizzare... la dimensione del file di scambio non è discriminante... proprio per il motivo per cui è stato introdotto...
__________________
Alberto aka Pitagora |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 5795
|
Questo è quello che speravo, tuttavia provando a fare una prova reale su XP per simulare lo scenario 2:
memoria richiesta: 4 GB memoria virtuale allocata: 4 GB RAM usata: 3,2 GB pagefile.sys: 0,8 GB quando la memoria richiesta raggiunge 3,5 GB non si avvia più nessuna applicazione, né si aprono i menu delle applicazioni, tuttavia il mouse e la tastiera funzionano correttamente, senza nemmeno rallentamenti, non capisco perché. ![]() Un'altra domanda, nei sistemi operativi Windows non server a 32 bit la memoria virtuale ha sempre il limite di 4 GB, a differenza della RAM che può avere un limite inferiore dipendente dagli altri dispositivi da indirizzare (principalmente la/le schede video)? |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2003
Città: Roma
Messaggi: 2367
|
con win 32bit anche Dante direbbe: LASCIATE OGNI SPERANZA O VOI CHE CI PROVATE.....
![]()
__________________
CASE Coolermaster Masterbox 5, CPU Intel Core i5 8400, DISSY Freezer 7 Pro Rev.2, MB Gigabyte Z370 HD3P, RAM 16gb DDR4 2133MHz Kingston HyperX, VGA MSI Radeon R7 370 2GB, HD Seagate 7200.14 1TB, SSD Samsung 850 EVO 250GB, MOUSE Logitech G402, AUDIO X-FI Extreme Music, ALI EVGA supernova G2 550W, BLUE RAY Pioneer BDC 202BK, CASSE Empire PS-2120, MONITOR Dell U2414H, OS Win10 Home 64bit, Fastweb FTTS 200/30 Mb/s ![]() |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 5795
|
Quote:
|
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
La memoria virtuale è la quantità di memoria che ogni processo (idealmente si può vedere come un programma in esecuzione, anche se non è detto che sia cosi) vede e può indirizzare(divisa idealmente a metà tra parte processo e parte kernel) indipendentemente dagli altri processi concorrenti e dall' hardware sottostante (ram effettivamente disponibile e scheda madre).Tale meccanismo è implementato con il concetto di swap ovvero l' utilizzo di una porzione della memoria di massa (indicato dal file di paging)per sopperire alla carenza di ram: in sostanza i dati eccedenti la ram vengono trasferiti, in unità di pagine, sul disco e a necessità (indicata dal page fault)riportati in ram e resi disponibili al processo proprietario. Quindi l' indirizzo effettivo di memoria è trasparente al processo ed è compito del MMU ricavarlo istantaneamente.
Ora un sistema a 32 bit può (per scelta commerciale più che tecnica dato che i bit di indirizzo disponibili a livello hw sono almeno 36 su piattaforma intel)indirizzare al più 4GB, da cui va sottratto il mapping delle periferiche che indirizzano nel medesimo spazio. E tale limite, nei sistemi home non è bypassabile in nessun modo: patch e PAE compreso(che funziona sui server), ne tantomeno con il ramdisk, dato che un programma utente non può indirizzare memoria non accessibile al SO. |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 5795
|
Se il totale di memoria richiesta da tutti i programmi supera i 4 GB, il sistema operativo non può fornirgliela tramite lo swap sull'hard disk e quindi il sistema si blocca?
Se sì, quindi con 4 GB di RAM il pagefile.sys averlo impostato a 0, a 4 GB, a 10 GB o a qualsiasi altro valore non cambia nulla, perché comunque non lo userà comunque? |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
i 4GB sono virtualmente allocati ad ogni processo e non in totale.
Se un processo necessità di una pagina di memoria che si trova sul file di paging sarà compito del sistema operativo (parte software) e del MMU (parte hardware) caricare la pagine dal disco alla memoria centrale e tradurre l' indirizzo virtuale in fisico affinche vi si possa accedere. |
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: May 2001
Messaggi: 12840
|
In realtà la divisione logica della memoria nei sistemi operativi Windows a 32bit è 2gb per il processo / 2gb per il kernel.
Un processo non può usare più di 2gb di ram. Quei limiti possono essere impostati a 3gb/1gb passando un parametro al bootloader. |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
già detto:
Quote:
|
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Jun 2007
Messaggi: 5795
|
Quote:
In RAM: processo 1 -> 2 GB Nel pagefile.sys: processo 2 -> 2 GB processo 3 -> 2 GB processo 4 -> 1 GB Ultima modifica di Alex_80 : 19-01-2010 alle 23:01. |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Jan 2010
Messaggi: 37088
|
Tempo fa avevo letto da qualche parte che abilitando la modalità PAE era possibile in alcuni casi sfruttare i 4Gb anche su sistemi a 32 bit. Però andrebbe provato se funziona realmente, altro non so
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Sep 2007
Messaggi: 2830
|
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Sep 2007
Messaggi: 2830
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:20.