© Josep Ros. Con la tecnología de Blogger.

Polvetes Mágicos L2 o Pilla cacho marimacho para Windows

Mi querido colega David Holgado, de Madrid, a quien tuve el placer de conocer en el último curso que di en Madrid, me ha hecho llegar, a mi petición, este mail del que os extracto esta joya para ponerle las pilas al Windows y que aproveche la caché de nivel 2 que tienen las CPU. Imagino que la mayoría de vosotros ya lo conocéis, pero a mí me ha venido de nuevo y aún alucino el cambio de rendimiento de mi XP y mi Vista virtualizados tras los susodichos polvetes mágicos :-)
A esto yo le llamo “Polvetes Mágicos L2” o “Pilla cacho marimacho”….para no tener problemas con los copyright de otros :-)

La clave que debes modificar es:

My Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\

En la DWORD SecondLevelDataCache editas y en decimal, pones las cantidad de CACHE L2 que tiene tu máquina en kb, ejem. 1024

Reinicias el equipo y según empieces a realizar tareas repetitivas, se empezará a notar la mejora, por que se utiliza la cache desde el primer momento, y los datos para realizar operaciones rutinarias, liberando también parte de la RAM utilizada.

Gracias David!!

Luego, hablando con Asier, un compañero de la empresa donde estamos enfrascados en el actual proyecto de virtualización, me ha comentado que la aplicación CPU-Z permite saber exactamente la memoria caché de que dispone nuestra CPU.

Podemos descargar CPU-Z desde aquí:
http://www.cpuid.com/cpuz.php

5 comentarios:

Spiry dijo...

¿Se puede aplicar también a la máquina host?
¿Como reparte la cache de segundo nivel entre el host y los guests?

He visto que el valor por defecto tanto en un vista sp1 como en un xp sp3 es "0x0". ¿Es así?

Muchas gracias.

Josep Ros dijo...

Efectiviwonder collection.

El valor por defecto en todos los Windows del Nivel 2 de caché es de 0. Entonces hay que averiguar con el CPU-Z qué caché de segundo nivel tenemos en nuestro equipo y poner ahí en el registro el valor.

Estos polvetes mágicos son aplicables tanto para sistemas hosts como sistemas guest.

Un abrazo

Anónimo dijo...

Hola Josep

Para los que semos muy torpes, Si yo tengo un host con 2 procesador intel xeon quad core en el que corren 5 vms todas 2003 server, si segun cpuz cada procesador tienen 6144 Kbytes de memoria cache de nivel 2 que valor deberia ponerle yo a mis maquinas en esta clave de registro? porque supongo que en este caso el rendimiento del host importa menos, puesto que las que tienen que rendir son las maquinas. Deberia coger y multiplar la memoria cache de nivel 2 por el numero de procesador y dividirlo entre el numero de maquinas? o simplemente ponerle a cada el resultado de multiplicar la memoria cache nivel 2 por el numero de procesadores?

Espero que todo siga bien.

Samuel (curso de Madrid)

Josep Ros dijo...

Muy buenas Samuel,

Pues yo soy mega-torpe así que ni flowers. Fíjate que ni sabía que existía esta opción hasta que me la comentó el crack de David.

Imagino (sólo imagino) que es la caché individual de cada socket. No es por menospreciar a Microsoft, que conste, pero no sé si Windows va a tener la capacidad de sumar y gestionar sumadas las 2 cachés de ambos sockets.

Si alguien nos puede iluminar adelante!

Anónimo dijo...

Siento pinchar el globo pero... Aqui les pongo la verdad de ese mal llamado "truco"

Detailed Explanation of SecondLevelDataCache
View products that this article applies to.
Article ID : 183063
Last Review : June 11, 2002
Revision : 1.0
This article was previously published under Q183063
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 (http://support.microsoft.com/kb/256986/EN-US/) Description of the Microsoft Windows Registry
SUMMARY
This article discusses the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager \Memory Management\SecondLevelDataCache
REG_DWORD Range: Kilobytes 0, 1 -cache size Default: 0 (256K)
MORE INFORMATION
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

SecondLevelDataCache records the size of the processor cache, also known as the secondary or L2 cache. If the value of this entry is 0, the system attempts to retrieve the L2 cache size from the Hardware Abstraction Layer (HAL) for the platform. If it fails, it uses a default L2 cache size of 256 KB. If the value of this entry is not 0, it uses this value as the L2 cache size. This entry is designed as a secondary source of cache size information for computers on which the HAL cannot detect the L2 cache.

This is not related to the hardware; it is only useful for computers with direct-mapped L2 caches. Pentium II and later processors do not have direct- mapped L2 caches. SecondLevelDataCache can increase performance by approximately 2 percent in certain cases for older computers with ample memory (more than 64 MB) by scattering physical pages better in the address space so there are not so many L2 cache collisions. Setting SecondLevelDataCache to 256 KB rather than 2 MB (when the computer has a 2 MB L2 cache) would probably have about a 0.4 percent performance penalty.

Sacado de la propia mocosoft:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q183063

En resumen, eso no funciona para ningun cpu superior al pentium I, en cualquier sistema moderno la cache de nivel 2 es autoreconocida por el S.O. y ese valor del registro queda en cero simplemente por que no se necesito usarlo para definir el tamaño de la cache

Consulta Técnica

[Consulta Técnica][bleft]

Virtualización

[Virtualización][twocolumns]

Naturaleza

[Naturaleza][grids]