Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Perché la memoria di kernel è in paging anche se c'è memoria fisica libera?

133 views
Skip to first unread message

Tex29

unread,
Nov 20, 2013, 7:00:28 AM11/20/13
to
Salve a tutti.

Dal task manager vedo che win7 (mi) mette sempre in paging una parte del
kernel, anche quando c'è della ram libera:
https://www.dropbox.com/s/c5xpjh87qwb1bcb/2013-11-20%2010.51.16.jpg

C'è qualche motivo perché ciò avvenga? Perché non allocare il kernel nella
ram libera, che per definizione è lì a non fare niente? :-)

Ciao, e grazie,
Francesco

Tex29

unread,
Nov 20, 2013, 7:04:14 AM11/20/13
to
Rotfl, scusate, ho sbagliato a linkare la foto.
Quella giusta è questa:
https://www.dropbox.com/s/9jxsf5vagm4jws4/Screenshot%202013-11-20%2012.04.45.png
(i porcini sono buoni, comunque).

F.


Bob Rock

unread,
Nov 21, 2013, 3:04:34 PM11/21/13
to
Il 20/11/2013 13:00, Tex29 ha scritto:

> Dal task manager vedo che win7 (mi) mette sempre in paging una parte del
> kernel, anche quando c'� della ram libera:
> https://www.dropbox.com/s/c5xpjh87qwb1bcb/2013-11-20%2010.51.16.jpg

Quanto li fai al chilo? :)

> C'� qualche motivo perch� ci� avvenga? Perch� non allocare il kernel
> nella ram libera, che per definizione � l� a non fare niente? :-)

Guarda qui se pu� essere utile
<http://social.technet.microsoft.com/Forums/windows/en-US/3849bba1-7934-4474-99fe-25f0ab5b57fe/load-drivers-and-the-windows-7-kernel-in-memory?forum=w7itproperf>

--

Bob

http://www.webalice.it/argonex/

marco@msn

unread,
Nov 21, 2013, 4:38:03 PM11/21/13
to
"Tex29" ha scritto nel messaggio
news:l6i88r$gfd$1...@virtdiesel.mng.cu.mi.it...
>
>Salve a tutti.
>
>Dal task manager vedo che win7 (mi) mette sempre in paging una parte del
>kernel, anche quando c'� della ram libera:
>https://www.dropbox.com/s/c5xpjh87qwb1bcb/2013-11-20%2010.51.16.jpg
>
>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
>Ciao

--
Marco

Tex29

unread,
Nov 29, 2013, 10:27:59 AM11/29/13
to


"Bob Rock" ha scritto nel messaggio
news:bf77ai...@mid.individual.net...

> Quanto li fai al chilo? :)

Eh, ormai sono ampiamente digeriti. :-)

> C'� qualche motivo perch� ci� avvenga? Perch� non allocare il kernel
> nella ram libera, che per definizione � l� a non fare niente? :-)

Guarda qui se pu� essere utile
<http://social.technet.microsoft.com/Forums/windows/en-US/3849bba1-7934-4474-99fe-25f0ab5b57fe/load-drivers-and-the-windows-7-kernel-in-memory?forum=w7itproperf>

Mica tanto.
L� dice "Generally, If you have enough RAM to run, then the virtual memory
will not be used."
Che mi pare cosa buona e giusta, appunto. Per questo non mi spiego perch�
win (mi) metta in paging una parte del kernel anche quando c'� ram libera.

Ciao,
Francesco

Tex29

unread,
Nov 29, 2013, 10:56:02 AM11/29/13
to


"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

enoquick

unread,
Nov 29, 2013, 11:12:07 AM11/29/13
to
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









Tex29

unread,
Nov 29, 2013, 11:43:21 AM11/29/13
to


"enoquick" ha scritto nel messaggio news:l7aecp$3f1$1...@dont-email.me...


> 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

Ah, ok.
Quindi quella "memoria di kernel di paging" è memoria che è stata allocata
(perché un driver ha chiesto al sistema operativo di riservarla) ma non
utilizzata.
In pratica si svolge un dialogo di questo tipo:
Driver: -"OS, riservami 240 mb di memoria. Ora non la uso, ma devo averla
disponibile se c'è bisogno, altrimenti vado in crash. Non deve essere per
forza ram, va bene anche nella memoria virtuale"
OS: -"D'accordo. Visto che non la usi, te li riservo nello swap: anche se ho
della ram libera, è inutile 'bloccarla' inutilmente. Se poi la usi, passo
tutto in ram"
Driver: -"perfetto, grazie e buona giornata".

Beh, se è così ha del senso.

Grazie,
Francesco







enoquick

unread,
Nov 29, 2013, 11:55:43 AM11/29/13
to
Sostanzialmente dovrebbe essere cosi


0 new messages