Il 29/11/2013 09:56, Tex29 ha scritto:
>
>
> "marco@msn" ha scritto nel messaggio
> news:l6lufp$37l$1...@speranza.aioe.org...
>
>> C'è qualche motivo perché ciò avvenga? Perché non allocare il kernel
>> nella ram libera, che per definizione è lì a non fare niente? :-)
>>
>
>> vedi qui
>
>>
http://supermodding.blogspot.it/2011/11/lettura-swap-file-il-file-di-paging.html
>>
>
> Sì, grazie, conoscevo quel parametro (nel senso che me l'aveva suggerito
> gugle). Mettendo '1' s'impedisce al kernel di essere messo nello swap;
> lasciando '0' si consente di metterlo in paging quando win decide che ce
> ne sia bisogno.
> Ma a me va bene che sia messo in paging quando ce n'è bisogno (anche
> perché, a quanto leggo, l'opzione '1' può rendere instabile il sistema
> se c'è forte richiesta di memoria); quel che invece non mi spiego (e che
> chiedevo) è perché venga messo in paging anche quando c'è ram libera.
>
> Per dire, in questo momento ho 7.5 giga di ram libera, 240 mb di memoria
> di kernel di paging e 80 mb di memoria di kernel non di paging.
> Mi parrebbe di maggior buonsenso (ma non sono un programmatore) che quei
> 240 mb fossero caricati in ram, salvo trasferirli in paging quando la
> memoria libera iniziasse a scarseggiare (l'ultima cosa viene impedita
> dall'opzione 1 di DisablePagingExecutive).
> In termini di prestazioni credo che la differenza sia insignificante
> (non ci vuol molto a trasferire 240 mb dall'ssd alla ram) ma ero curioso
> di sapere la ragione del comportamento di default di windows (immagino
> ne esista una, di ragioni).
>
> Ciao,
> Francesco
Non so se questo tipi do politica sia anche in win7 e win8 (ma visto gli
effetti direi di si) ma anni fa (ai tempi di xp) lessi qualcosa su questo
il kernel divide il suo codice in paged pool e non paged pool
Un driver (il quale gira un kernel mode) al caricamento richiede pagine
pool e non pool per allocare dati indipendentemente dalla quantità di ram
Ecco perchè anche se la ram libera è alta codice o dati mai usati stanno
nella area di swap
Questo è ben diverso ad esempio nel kernel linux dove fino a quando non
si raggiunge un determinato picco di memoria usata l' area di swap non è
mai usata
Puoi anche tentare di cambiare questo comportamento ma credo che non sia
consigliato
Per approfondire
http://blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx