PDA

Visualizza versione completa : Trucco Numero 1


DavideDave
27-04-2001, 16.59.16
Cosa mi dite di questo?
L'ho trovato in giro, vorrei sapere cosa ne pensate prima di far danni ;)
Domanda rivolta specialmente ai moderatori intenditori ;)

Più RAM grazie alle DLL

I sistemi Windows fanno spesso ricorso alle DLL (acronimo di Dinamic
Link libraries), ovvero librerie di dati che vengono richiamate dalle
applicazioni più diffuse. Nell'utilizzarle però a volte le conservano in
memoria anche dopo che tali applicazioni sono state chiuse, con un
conseguente spreco di risorse di sistema a livello di Ram.

Agendo sul registro di configurazione è possibile forzare il sistema
alla cancellazione di questi dati. Per farlo apri il programma
Rededit.exe e individua la chiave

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Explorer].

A questo punto seleziona la chiave "explorer" e col bottone destro
imposta il comando Nuovo > Chiave e chiama la chiave creata con il nome
"AlwaysUnloadDll" (virgolette escluse). In quest'ultima dovrai creare
infine una nuova stringa chiamata "(Predefinito)" (virgolette escluse) e
impostare in essa il valore 1 entro l'opzione modifica, attivabile
sempre col bottone destro. Le modifiche avranno effetto dopo il riavvio
del sistema.

P.S. In alcune configurazioni questo comando è già presente. In questo
caso dovrai limitarti a verificare che tutti i parametri siano impostati
esattamente come indicato.

Ciao :)

twinpigs
27-04-2001, 17.36.42
Interessante ... lo proverò ;)

DavideDave
27-04-2001, 17.39.45
Bene twin teniamoci aggiornati :)

Ciao :)

EcHo2K
27-04-2001, 17.51.51
secondo me e' deleterio per le prestazioni del sistema, le dll spesso sono condivise da molte applicazioni, ogni volta che un'applicazione viene lanciata tutte le librerie di cui ha bisgno vengono caricate con lei, se tutte le librerie devono essere caricate dall'HD i tempi di caricamento sono nettamente maggiori, se invecie queste librerie sono gia' in ram i tempi di caricamento sono molto minori.

Fate una prova, lanciate un'applicazione pesante, tipo Photoshop6, chiudetela subito e rilanciatela. Per il secondo caricamento occorremeno di 1/3 del tempo che occorre per il primo. Questo perche' gran parte dei componenti sono gia' in memoria e non sono stati scaricati da windows perche' troppo recenti.

DavideDave
27-04-2001, 18.07.59
Originally posted by EcHo2K
secondo me e' deleterio per le prestazioni del sistema, le dll spesso sono condivise da molte applicazioni, ogni volta che un'applicazione viene lanciata tutte le librerie di cui ha bisgno vengono caricate con lei, se tutte le librerie devono essere caricate dall'HD i tempi di caricamento sono nettamente maggiori, se invecie queste librerie sono gia' in ram i tempi di caricamento sono molto minori.

Fate una prova, lanciate un'applicazione pesante, tipo Photoshop6, chiudetela subito e rilanciatela. Per il secondo caricamento occorremeno di 1/3 del tempo che occorre per il primo. Questo perche' gran parte dei componenti sono gia' in memoria e non sono stati scaricati da windows perche' troppo recenti.

Forse deleterio è una parola grossa ;) , non saprei , il trucco serve a liberare RAM appena possibile non a velocizzare l'avvio delle applicazioni. Se kiudo Photoshop6 è perkè devo fare qualcos'altro, questo implica ke voglio dare tutte le risorse di sistema possibile alla nuova applicazione.

Naturalmente ogni cosa ha i suoi pro e i suoi contro.

Io per esempio odio il fatto di partire con il 92% di risorse disponibili, navigare in Internet, e poi dover riavviare o comunque agire con qualke trucchetto perkè pur non avendo + niente di aperto le mie risorse sono scese...

Certo se dovessi riavvire IE sarebbe quasi istanataneo ma se voglio fare qualcos'altro? Penso ke sia una cosa soggettiva... :)

Ciao :)

twinpigs
27-04-2001, 18.10.32
.

DavideDave
27-04-2001, 18.15.12
;) Hai ragione twin ;)

Se avevo mezzo Giga di RAM non ero su Wintricks :D

Senza offesa per nessuno... ;)

Ciao :)

Casper
27-04-2001, 19.13.12
concordo con Echo2k. fra l'altro, il trucco suggerito da DavideDave provoca problemi documentati a diversi programmi, fra cui Excel.

Rasna
27-04-2001, 19.39.26
Sono d'accordo. Se volete utilizzare meglio la ram, potete scaricarvi dei programmi ad hoc (es: Rambooster, freeware).

DavideDave
27-04-2001, 23.47.26
Hmmm sapete una cosa? Arrivato a casa ho controllato e ce l'avevo già abilitato! Nessun problema però finora...

Ciao :)

Casper
27-04-2001, 23.58.54
Originally posted by DavideDave
Arrivato a casa ho controllato e ce l'avevo già abilitato! Nessun problema però finora...

ma che curiosa combinazione! :D

Klik
28-04-2001, 02.15.58
Echo2K: "Per il secondo caricamento occorremeno di 1/3 del tempo..."

Già, ora capisco perchè, provando e RIprovando a vedere se funzionava quel trick per far scomparire lo splash di Outlook, le volte successive lo lanciava molto più in fretta ;)

Antares
28-04-2001, 02.23.37
Originally posted by DavideDave
Cosa mi dite di questo?
L'ho trovato in giro, vorrei sapere cosa ne pensate prima di far danni ;)
Domanda rivolta specialmente ai moderatori intenditori ;)
[mega cut]
Ecco un'altro iscritto ad Un trucco al giorno! :rolleyes:

EcHo2K
28-04-2001, 02.31.16
beh...degustibus :) comnque quello di photoshop era solo un esempio, il succo sono le dll condivise da piu' di un programma, anche diverso, vedi le mfc o le comdlg o altra roba di sto tipo.

Komunque io non mi preokkuperei molto per l'okkupazione della memoria, non garantisco per win9x, ma win2k e tutta la serie NT non se la cava mica male nell'allocazione dinamica della memoria sapete...non e' il massimo sulla protezione delle varie aree di memoria (per questo ci sono cosi' tanti attakki di buffer overflow in ambiente windows) pero' questo e' un altro discorso.

Il punto e' che se io ho la ram piena all'80% non significa che sia necessariamente un danno, potrebbe essere piena di componenti comuni che sono condivisi da piu' applicazioni, e comunque tutto il sistema ne guadagna, se poi serve memoria fisica si sposta il componente dalla ram allo swap...esattamente quello che fanno tutti gli os moderni.
Non e' necessario avere molta memoria libera per avere buone prestazioni...che me ne facci di 512Mb di ram quando ne occupo il 30%? preferisco occuparli tutti con i porgrammi che mi servono in modo da non dover ricorrere al disco fisso ed avere prestazioni maggiori.

Casper
28-04-2001, 02.41.08
:cool:

DavideDave
28-04-2001, 03.10.27
Originally posted by Casper
Originally posted by DavideDave
Arrivato a casa ho controllato e ce l'avevo già abilitato! Nessun problema però finora...

ma che curiosa combinazione! :D

Al lavoro ho Win2K, a casa Win98SEWT&TOME.

Se hai da qualke parte un Win98SE guarda il registro, probabilmente questa funzione è abilitata di default, io prima di oggi non ne ero a conoscenza e non l'ho mai toccata!

Ecco... purtroppo quando sono al lavoro non mi ricordo a memoria il registro del mio SO casalingo... :rolleyes:

Per quanto riguarda il discorso RAM, io ho 128 MB, ottimizzati a manetta, non 512, e spesso e volentieri me ne servirebbero molti di più... ki usa JBuilder come me sa cosa voglio dire...

Ciao :)

Casper
28-04-2001, 03.16.38
di default è disabilitata. avrai usato una qualsiasi utility di tweaking e ti è uscito di mente :)

Klik
28-04-2001, 12.45.07
Solo a titolo informativo: ho Win98 SE, non c'è neanche la chiave

Rasna
28-04-2001, 13.12.01
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Explorer].

A questo punto seleziona la chiave "explorer" e col bottone destro
imposta il comando Nuovo > Chiave e chiama la chiave creata con il nome
"AlwaysUnloadDll" (virgolette escluse). In quest'ultima dovrai creare
infine una nuova stringa chiamata "(Predefinito)" (virgolette escluse) e
impostare in essa il valore 1 entro l'opzione modifica, attivabile
sempre col bottone destro. Le modifiche avranno effetto dopo il riavvio
del sistema.


Francamente mi sembra una chiave piuttosto strana: sicuro che non si tratti di una stringa?

DavideDave
29-04-2001, 03.21.46
x Rasna

Quale? AlwaysUnloadDLL? Sì è una chiave ho controllato ora sul mio. Il trucco postatovi è evidentemente un copy&paste, se è sbagliato io non c'entro ;) ... è giusto è giusto :cool:

Ciao :)

Rasna
29-04-2001, 10.56.08
E dove hai trovato questo trucco?

Rasna
29-04-2001, 11.12.44
Riporto qui quanto affermato il Axcel 216 sull'argomento:

The 10-14-99 Win98 SE Registry ©Trick in TIPS98.TXT, part of W95-11D.ZIP:

UNLOAD WIN98 SE DLLS
The idea for this tip was suggested by Casper Friis Pedersen (casperfriispedersen@usa.net). Many thanks!
If you installed Windows 98 SE "fresh" on a clean hard drive, NOT as an upgrade over an older Win9x version, unlike Windows 98 retail or 95/OSR1/OSR2, it always unloads the DLLs (Dynamic Link Libraries) used by a program from memory, upon closing that application/game (default). To see if your system does this too, start RegEdit and go to:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\explorer

In the right hand pane look for the "AlwaysUnloadDLL" String value. Notice the default value of 1.
The caveat is that certain (especially older) Windows programs might "complain" by issuing error messages (i.e. an Invalid Page Fault = IPF), or even crashing the entire system when this option is turned on.
But you can turn it off: double-click on "AlwaysUnloadDLL" and change its value from 1 to 0, or delete it altogether.
If you haven't experienced such "faults"/lockups, you can leave it on, because this speeds up GUI operation a little.
Close the Registry Editor and restart Windows.

NOTE: See this related MSKB article for possible IPFs caused by specific programs.

Inoltre, altre delucidazioni possono essere reperite qui (http://www.lockergnome.com/issues/daily/20010221.html).

Sembrerebbe che "AlwaysUloadDll" sia una stringa, quindi. Eppure nel mio registro è inserita come chiave di explorer, con valore di default di "1" (che ho modificato a "0").

Ciao.:)

[Edited by Rasna on 29-04-2001 at 10:24]

DavideDave
29-04-2001, 16.06.05
Il sito mi sembra fosse questo (www.pcup.com).

Guarda io in Inglese non è ke ci capisca più di tanto , ma mi sembra evidente ke la frase In the right hand pane look for the "AlwaysUnloadDLL" String value. Notice the default value of 1. dica di controllare che il valore della stringa ("default")("predefinito" se Windows è in Italiano) sia a 1.

Se si pensa al registro come a un albero, una stringa si riferisce a, è contentuta in, per forza una chiave. E poi, ripeto, senza che io l'abbia volontariamente abilitato, nel mio registro c'è, è una chiave, e non dà problemi.

Mi sembra di capire dall'articolo postatoci ke ci possono essere delle controindicazioni nella'abilitarla: se ci sono toglierla conviene sicuramente, se non ci sono metterla ci fa guadagnare qualcosina in RAM.

Come pensavo ;)

Ciao :)

fabel
29-04-2001, 17.39.19
Senza pasticciare con il registro, questa opzione è consentita anche da xteq-xsetup alla voce: system-Memory-General memory settings dove va cliccata la voce unload dlls directly. Tuttavia un messaggio avverte:
Normally, Windows waits a short time before DLLs are removed from memory. If you activate this option, Windows removes them directly without waiting.

NOTE: some programs (like ActiveDesktop, Access or some Windows 2000 Network providers) will *CRASH* if you activate it!
A me cmq non ha dato problemi.

Rasna
29-04-2001, 20.04.15
Spiacente DavideDave, riguardo ad Axcel, è proprio come dico io...:)

Se non bastasse, prova a guardare cosa c'è scritto nel sito di Lockergnome (l'altro link postato):

Fire up REGEDIT.EXE and navigate to "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer" -- create a new String Value in the right pane and name it: "AlwaysUnloadDll" (sans quotes). Give this new string a value of 1, close the Registry Editor, and reboot Windows. This will eliminate DLL caching; programs won't re-launch as quickly as before, but it'll bring closure to every close. Perfect for low memory systems or programming environments.

Ad onor del vero, ci sono altri siti che considerano "Always..." come sottochiave (subkey) di explorer.

Morale della favola: conviene valutare sempre criticamente ciò che si trova nel web.

Comunque sia ecco come ho settato il parametro nel mio registro (con copia/incolla si può ricavare il relativo file .reg):


REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Curr entVersion\explorer\AlwaysUnloadDll]
@="0"

Il settaggio a "1" può andare bene se hai poca ram, diversamente lascialo a "0".

Ciao.:)

Klik
30-04-2001, 01.26.19
Lasciatelo in pace, Dave!

Mi viene in mente che avevo aperto un thread, chiedendo se una certa stringa, trovata "per caso" nel mio registro, potesse essere cambiata per eliminare i dati recenti allo spegnimento.
Era "ClearRecentDocsOnExit"=hex.....

In realtà c'era perchè avevo fatto un trick quando ne sapevo molto meno di ora ==> sbagliando quanto consigliato nelle FAQ :D (:(:(:()

DavideDave
30-04-2001, 02.35.44
In effetti il mio thread era stato aperto per valutare tutti insieme questa funzionalità.

Se dovessi quindi riassumere quanto detto fin'ora...

Avete poca RAM? Abilitatelo pure, ma sappiate ke potreste avere problemi con alcuni programmi ;)

Avete tanta RAM? Beati voi :D

Ciao :)

Rasna
30-04-2001, 07.51.46
Non si tratta di lasciare in pace nessuno. E' un normale dibattico, discussione, scambio di idee dialettico...chiamatelo come volete:).

Anzi, ringrazio DavideDave per avere (almeno) in me stimolato l'attenzione su un argomento, che diversamente avrei placidamente ignorato.

Qualcosa, rispetto a prima, senza dubbio ho imparato.

Anche a questo servono questi forum, no? :)

mErLoZZo
30-04-2001, 10.02.59
Originally posted by EcHo2K

Non e' necessario avere molta memoria libera per avere buone prestazioni...che me ne facci di 512Mb di ram quando ne occupo il 30%? preferisco occuparli tutti con i porgrammi che mi servono in modo da non dover ricorrere al disco fisso ed avere prestazioni maggiori.

Stai dicendo che preferisci avere 128 mega piuttosto che 512? :D:D:p

RNicoletto
30-04-2001, 19.05.32
Il trucco qui descritto è già da tempo inserito nei più blasonati programmi per gestire la memoria quali Cacheman o RAM Idle. :cool:

Come detto, se uno utilizza più volte la stessa applicazione (nel senso che la apre e chiude + volte all'internon della stessa sessione) la cosa si rivela uno svantaggio.

By the way, io che utilizzo diverse applicazioni lo lascio settato.

SALUDOS Y BESOS !!!

Klik
30-04-2001, 20.12.35
:):)

Ma scherzavo!

Rasna
30-04-2001, 21.22.52
Pensate, tanto per capire come stanno le cose, che il settaggio nativo per "AlwaysUnloadDll" dev'essere in effetti come chiave. Su alcuni siti, come si è visto, è presente come stringa di Explorer. Il bello è che ho provato a settare la stringa attraverso Xteq-Xsetup 6.0 (come suggerito da Fabel). Sapete cosa ne è uscito? Che mi ha inserito "AlwaysUnloadDll" come stringa di explorer settata a "1", mentre era sempre presente la chiave "AlwaysUnloadDll", settata a "0". Risultato: BSOD!

Come dire: non fidiamoci troppo nemmeno dei programmi che cambiano i parametri di sistema. :)

Anzi, credo che segnalerò la cosa agli estensori del programma...

[Edited by Rasna on 30-04-2001 at 22:25]

Rasna
02-05-2001, 23.25.11
Come vi ho detto, grazie a DavideDave, "mi sono accorto" di "AlwayUnloadDLL". L'ho trovata nel mio registro come chiave impostata di default a "1" e l'ho settata a "0", in funzione anche delle considerazioni svolte in questo thread. Ebbene, mi sono capitati alcuni BSOD sptt in fase di avvio, che sono scomparsi risettando "Always..." a "1": tutto è ritornato placido e tranquillo.
La mia impressione è che "Always.." funzioni meglio come chiave di explorer, che come stringa di explorer stesso (in alcuni siti - come Axcel216, ad es. - e il programma Xteq-Xsetup trattano "Always..." come stringa di explorer).

Ciao. :)

[Edited by Rasna on 03-05-2001 at 06:46]

EcHo2K
03-05-2001, 14.47.19
volevo solo dire che non e' necessario avere 512 mb di ram se non ti servono, guarda durante il tuo utilizzo medio quanta ne occupi e valuta l spesa, l'importante e' che il sistema non ricorra all swap troppo spesso...lasciate perdere il marketing, utilizzate la testa!
Se devo fare Word Processing con windows 98 mi bastano 64MB di RAM, se devo usare Autocad con win2K forse e' mglio che ce ne metta 256, se devo gestire un server di database con grossi database di decine di migliaia di record forse e' meglio un doppio processore con molta cache a bordo e 512MB di ram...mi sono spiegato?

Rasna
03-05-2001, 22.53.20
E'la scoperta dell'acqua calda, questa. Appare chiaro che uno dei limiti relativi all'utilizzo della ram è la banda passante fra CPU e memoria fisica. Aumentare questa senza aumentare la prima potrà portare ad un qualche giovamento a livello prestazionale, cmq non proporzionale alla spesa fatta. A mio giudizio, il discorso è più complesso...

FRENK!
04-05-2001, 15.18.10
Se voglio fare lo stesso con win2000 devo agire con il regedit sulla stessa stringa?? Thanz!