R E S O C O N T O D I S C U S S I O N E |
Roger |
Inserito il - 23 Nov 2008 : 08:04:27 Come promesso apro un post sulla questione in oggetto. Però prima di iniziare il discorso facciamo una doverosa premessa: tutte le indicazioni contenute in questo post sono basate unicamente su esperienza personale e trattandosi di operazioni che richiedono un minimo di esperienza informatica, non mi assumo nessuna responsabilità riguarado al loro utilizzo. Tutte le indicazioni di questo post utilizzatele - se volete - a vostro rischio e pericolo!
Premesso questo parliamo di quel gran mangiarisorse di FS. Che FS sia sempre stato un grande consumatore di memoria e cpu credo sia noto a tutti. Ultimamente però, con i pc di nuova generazione, le alte definizioni degli schermi, l'utilizzo di landclass quali UTE che comportano il caricamento contemporaneo di molte texture, gli aerei di ultima generazione ecc., divora più risorse FS che un naufrago dell'isola dei famosi davanti a un piatto di polpette al sugo. Quindi facilmente vi sarà capitato di trovarvi di fronte all'errore "Out of memory error" o similari. Questo perchè FS molto semplicemente ha esaurito la memoria a disposizione.
Ora è il caso di domandarsi perchè fs esaurisce la memoria? Oltre al fatto che FS ha le "mani bucate" dobbiamo considerare che nei sistemi a 32bit (tipicamente XP e Vista 32 bit) l'indirizzamento della memoria (consideratelo una sorta di mappatura) avviene con l'utilizzo di 4 byte (ovvero 4 x 8 bit) quindi il massimo numero di byte di memoria "mappabili" è di 2 alla 32ma ovvero 4,294,967,296 byte di memoria (o 4 gigabytes). Più di quello il sistema op. non in grado di mappare e quindi di utilizzare. In realtà poi, parte di questa disponibilità, viene usata ad esempio per indirizzare la memoria della scheda video. Ecco spiegato il motivo per cui se metto 4 giga di RAM su xp o vista 32 bit, non ne vedrò realmente 4 giga ma presumibilmente da 2,7 a 3,4 a seconda di quanto viene riservato alla memoria della scheda video o ad altre funzioni del sistema operativo.
Bisogna specificare bene che parlando di memoria indirizzabile non parliamo necessariamente della RAM (ovvero della memoria fisica e reale) ma in particolare dell'insieme della memoria fisica e della memoria virtuale. La memoria virtuale o (paging), che potete vedere dal Task Manager di windows, si affianca quindi alla memoria reale RAM e viene però salvata su disco. Supponiamo per esempio che FS ad un certo punto abbia la necessità di 2 giga di RAM per funzionare. Se ad es. il sistema ha 2 giga di RAM in tutto, presumibilmente utilizzerà un 50% di memoria reale e un 50% di virtuale. Se invece il sistema dispone di 4 giga di ram presumibilmente userà un 75% di memoria reale e un 25% di virtuale. Ora, non fate caso ai numeri messi a caso, era solo per far capire che avere 2 o 4 giga di ram poco importa ai fini dell'indirizzamento. La memoria indirizzabile resta sempre 4 giga. L'unica vantaggio ad avere 4 giga di RAM è che utilizzando meno memoria virtuale (che lavora su disco e quindi è più lenta) il sistema andrà presumibilmente più veloce.
Se è chiaro questo discorso, passiamo alla seconda parte. Oltre al limite dei 4 giga indirizzabili, c'è un altro limite importante da considerare. Di questi 4 giga di memoria disponibile (reale o virtuale che sia), 2 giga (cioè la metà) se li riserva Windows per farci i comodi suoi. Quindi alla fine al nostro povero (si fa per dire) FS restano a disposione SOLO 2 giga di memoria (reale o virtuale che sia non ha importanza). Se a un certo punto ha consumato questi due giga e gliene serve di più, va in out of memory error. E badate bene che non c'entra un tubo se abbiamo 2 o 4 giga di RAM. Il limite per FS resta sempre 2 giga in entrambi i casi. Spiegato quindi il perchè fs va in out of memory, vediamo se c'è un modo per rimediare.
Se leggete attentamente questo articolo di M$ http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx
Vedrete che il modo ci sarebbe (poi capirete perchè uso il condizionale): non è tanto il PAE (di cui ogni tanto si parla come fosse una leggenda metropolitana) che in realtà è supportato solo da una stretta schiera di schede madri (e quindi il più delle volte completamente inutile) ma quel parametrino /3GB che si può aggiungere in fondo al file di sistema Boot.ini. Aggiungendo quel parametrino al boot.ini praticamente diciamo al sistema operativo di riservare 3 giga invece di 2 alle applicazioni che richiedono più memoria e di riservarne uno solo al sistema operativo. Poi in realtà capiterà difficilmente che un'applicazione richieda più di 2 giga di memoria ma nel momento che dovesse capitare (vedi FS) il sistema gliela fornisce evitando così l'out of memory error. Tutto sembra molto semplice, però siccome la M$ fa le pentole ma non i coperchi, viene specificato che affinché un applicazione possa sfruttare questa caratteristica ha bisogno che in fase di compilazione gli sia stato specificato di usare l' "IMAGE_FILE_LARGE_ADDRESS_AWARE" (LAA), praticamente un parametro che dice al programma che può sfruttare più memoria (se nel sistema operativo è stata specificata l'opzione /3GB). Secondo voi FS ha questa opzione? Ovviamente manco per l'anima..... ecco perchè avevo usato il condizionale. Però in questo, come in molti altri casi, S. Hck ci viene in soccorso e crea per noi un fantastico programmino che sembra essere in grado di impostare l'LLA su qualsiasi applicazione che ne sia sprovvista, rendendola così capace di sfruttare il parametrino /3GB impostato nel boot.ini. Questa fantomatica applicazione la trovate qui e vi garantisco che funziona http://www.mediterraneavirtual.com/medgest3/dw/laatido.zip
Aggiunto quindi il parametro /3GB al mio boot.ini, riavviato il sistema e passato FS9.exe sotto le grinfie di LaaTiDo, ho provato a esasperare FS spostandolo con FSnav sugli scenari più densi e complessi e facendogli allocare più memoria possibile. Dopo alcune ore di volo a bassa quota sono arrivato all'utilizzo di oltre 2,5 giga di memoria (vedi immagine in fondo) senza fare una piega. Normalmente si piantava per out of memory intorno a 1,8 massimo 2 giga. Inoltre sembra che in questo modo FS utilizzi più memoria reale e meno virtuale quindi andando anche più veloce.
Tuttavia il mio consiglio è: se il vostro FS funziona bene così o se non siete particolarmente smanettoni, lasciate stare tutto com'è. Se invece volete sfruttare queste indicazioni fatelo, ma con cognizione di causa e sempre sotto la vostra responsabilità. Intendiamoci non che si rischi chissà cosa e le operazioni indicate sono totalmente reversibili, tuttavia per chi non è avvezzo a queste cose, modificare i file di boot è sempre un'operazione un po' delicata, quindi occhio alla penna perché altrimenti vi potreste trovare a dover reinstallare il sistema operativo
@Carlo, la cosa si può fare senz'altro anche per vista 32 bit, però non avendo il file boot.ini cambia il metodo... vedi qui http://www.001design.it/forum_italiano/thread.php?id=8114
|
20 U L T I M E R I S P O S T E (Le più nuove sono all' inizio) |
Salvatore |
Inserito il - 01 Feb 2015 : 20:16:35 Sono riuscito a risolvere!
Ho fatto passare FS9.exe dall'applicazione disponibile a questo link http://www.mediterraneavirtual.com/medgest3/dw/laatido.zip
e non ho più avuto problemi.
Non ho fatto nient'altro!
|
MED-1481 |
Inserito il - 25 Jan 2015 : 17:52:33 ciao, avevo comprato un nuovo pc con installato w8, volevo solo dirti che io per poter continuare a usare fsx ho dovuto ritornare a windows 7. |
Salvatore |
Inserito il - 24 Jan 2015 : 21:00:07 Ciao ragazzi... Da qualche mesetto (senza aver installato niente sul simulatore) mi compare, dopo cira un'oretta di volo, l'odioso messaggio di memoria insufficiente.
Io ho Windows 8 64 bit.
Qualche soluzione? |
MED1434 |
Inserito il - 18 Nov 2012 : 17:52:33 Grazie Germano, ora ci provo.
Paolo |
germano77 |
Inserito il - 18 Nov 2012 : 00:04:57 quote: Originally posted by germano77
Ecco ua piccola guida per win 7 su come usare i 3 giga e piu' processori(core).
In Windows 7 andiamo nel prompt dei comandi lanciato con i comandi di amministratore. Come si lancia il prompt dei comani con i diritti di amministratore? Andiamo su Start->Tutti I programmi->Accessori- Quando troviamo Prompt dei Comandi premiamo sopra col tasto destro e scegliamo esegui come amministratore. Quando si sarò avviato il prompt digitiamo MSCONFIG A questo punto andiamo nel menu Opzioni di Avvio e scegliamo la voce opzioni avanzate come in figura.
A questo punto configuriamo correttamente il tutto come in figura. Chi avrà quattro,due o tre core le inserirà correttamente nella voce numero di processori. Per chi ha i sistemi a 32 bit inserirà nel valore memoria max il valore 3000. Non va messo di più altrimenti avrete dei bellissimi crash del sistema con blu screen.
Bye Bye
Sistemato Ciao |
MED1434 |
Inserito il - 17 Nov 2012 : 19:49:45 quote: Originally posted by germano77
Ecco ua piccola guida per win 7 su come usare i 3 giga e piu' processori(core).
In Windows 7 andiamo nel prompt dei comandi lanciato con i comandi di amministratore. Come si lancia il prompt dei comani con i diritti di amministratore? Andiamo su Start->Tutti I programmi->Accessori- Quando troviamo Prompt dei Comandi premiamo sopra col tasto destro e scegliamo esegui come amministratore. Quando si sarò avviato il prompt digitiamo MSCONFIG A questo punto andiamo nel menu Opzioni di Avvio e scegliamo la voce opzioni avanzate come in figura.
A questo punto configuriamo correttamente il tutto come in figura. Chi avrà quattro,due o tre core le inserirà correttamente nella voce numero di processori. Per chi ha i sistemi a 32 bit inserirà nel valore memoria max il valore 3000. Non va messo di più altrimenti avrete dei bellissimi crash del sistema con blu screen.
Bye Bye
Ciao Germano, non si vede più la seconda figura, potresti per favore rimetterla a posto, così da poter configurare il tutto per l'utilizzo dei +3gb
Paolo |
sercor |
Inserito il - 23 Apr 2011 : 18:03:03 ho provato a leggere le note di cui sopra ... ma sono troppo difficili per me ed allora poichè sul più bello mi si blocca tutto ho pensato "semplicisticamente" di andare alla grande: ho un pc potente, un HD con 160 gb liberi, 8 giga di ram una scheda video potente eppure mi succede ogni tanto che mi si blocca il volo e compare un messaggio (cito A MEMORIA)spazio sul disco insufficiente - bisogna pulire il disco (?!) e memoria insufficiente (?!) ma come con 8 giga ... ah . dimenticavo di dire che ho win 7 64 bit professional...?! evidentemente non basta avere tanti e grandi mezzi .... bisogna saperli usare! grazie per ogni consiglio |
dredd66 |
Inserito il - 14 Mar 2011 : 23:13:02 Che possa dipendere da qualche conflitto tra UTE e Ground Environment? Entrambi hanno delle opzioni per le aree industriali, anceh se penso controllino due cose diverse.... chissa' mai che però non facciano a pugni! |
martelinea |
Inserito il - 14 Mar 2011 : 18:23:17 Confermo, germania e francia OOM sistematici, senza scampo, adesso invece volo senza problemi, credo proprio che il problema sia risolto. ciaoooo |
dredd66 |
Inserito il - 14 Mar 2011 : 17:46:50 Ho effettuato qualche volo e non ho più avuto problemi disattivando, su UTE, le landclass per le aree industriali. Incrocio le dita!!!! |
dredd66 |
Inserito il - 09 Mar 2011 : 16:41:02 Ho fatto il volo LIRF LICR che mi dava problemi di OOM in atterraggio. Ho disattivato le ind land class di UTE e tutto è andato bene... se continua così potrò tornare a volare online!!!!!! |
dredd66 |
Inserito il - 07 Mar 2011 : 10:12:14 Ah... dalla libreria scenari! Ora capisco.
Provo a reinserire UTE e disattivare quell'area... appena potrò farò un volo (probabile mercoledì! E farò sapere! Tienici aggiornati tu cmq!! |
martelinea |
Inserito il - 07 Mar 2011 : 08:12:57 UTE Area ind/landclass; a me in elenco libreria scenari è la prima. ciaooo |
dredd66 |
Inserito il - 06 Mar 2011 : 17:21:02 Quale voce, nel dettaglio, hai tolto? |
martelinea |
Inserito il - 06 Mar 2011 : 09:37:37 AGGIORNAMENTO: Ho effettuato stessa solita tappa EDDM EGKK disabilitando area industriale di ute e nn ho avuto OOM mentre prima nn riuscivo a terminarla. speriamo bene. ciaooo |
dredd66 |
Inserito il - 05 Mar 2011 : 15:19:32 Allora: aggiornamento.
Ho ripristinato, attraverso l'apposita utility di UTE, le textures originali di fs9.
Ho effettuato lo stesso volo (LIEE-LIPZ) e non ho avuto OOM questa volta!!!!!!
Dovrò effettuare altri voli prima di confermare che i miei problemi nascono da UTE.... speriamo bene almeno di aver isolato la causa! |
germano77 |
Inserito il - 02 Mar 2011 : 12:59:40 Ciao, fai sempre una cosa per volta altrimenti non capirai mai dove si trova il problema :) |
germano77 |
Inserito il - 02 Mar 2011 : 12:57:36 Ciao, fai sempre una cosa per volta altrimenti non capirai mai dove si trova il problema :) |
dredd66 |
Inserito il - 02 Mar 2011 : 11:11:29 ok grazie!!! Provo a impostare così.
Comunque provo anche a ripristinare le textures di FS9 al posto di quelle di UTE |
germano77 |
Inserito il - 01 Mar 2011 : 22:24:33 http://img109.imageshack.us/f/memoriao.jpg |