Categories Windows Vista

Set the CPU L2 cache

By default, Windows Vista does not set a registry value for the CPU Level 2 cache. Today, all CPUs have a Level 1 and Level 2 memory cache allowing the core of the CPU to use a portion of RAM. Let us now correct this defect.

Open the Registry Editor by typing regedit.exe in the search bar of the start Menu.

Look for the next key where Vista stores the size of the level 2 cache:

HKEY_LOCAL_MACHINE\SYSTEM\Current\ControlSet\Control\Session Manager\Memory ManagementSecondLevelDataCache

The default value is 0 this means that Vista fails to set the value of the L2 cache by itself.

We must indicate the value corresponding to the level 2 cache. For this, 3 methods exist:

  1. You restart the computer and you'll go for a ride in the BIOS;
  2. Simpler, you install an evaluation version ofEverest Ultimate 4.50 and you are looking for information about the processor;
  3. You know the configuration of your computer by heart;

Then, once the value is known, enter the key in question. Here is a conversion table to hexadecimal, even if the values are also suitable (it depends on whether you check Hexadecimal or Decimal when editing the key):

  • 256 KB: 100 hex;
  • 512 KB: 200 hex;
  • 1 024 KB: 400 hex;
  • 2 048 KB: 800 hex;
  • 4 096 KB: 1000 hex;

As usual before any modification of the register, it is strongly advisable to make a backup in advance via the menu File then Export.

Capture d'écran - Editeur du Registre, modification pour un processeur avec 4 Mo de cache (4096 Ko)
Screenshot — Registry Editor, Change for a CPU with 4 MB of cache (4 096 KB)

To learn more about cache memory, I invite you to consult the Wikipedia article: Cache memory


Leave a Reply to Maigret Cancel reply

  • Romuald

    Hey, hey!

    This trick is bogus!

    On the Microsoft website we talk about the SecondLevelDataCache > Detailed Explanation of SecondLevelDataCache

    On this page, in the third paragraph under MORE INFORMATION, we find:
    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. “

    Eplication: This tip only applies to CPUs using the DIRECT-MAPPED L2 cache while PENTIUM II processors and more RECEENT CPUs do not use the DIRECT-MAPPED L2 cache.

    So it’s useless:-)))

  • Anonymous

    Romuald you say anything! And you still believe Microsoft! Why then is there a difference in performance once we have set up?
    And here’s your no difference is that you crashed somewhere because I tested on XP and Vista on several computers and tracked the difference!
    After it depends on the cache (a celeron is on that...) but all those who have 1 MB, 2 MB or more test you will see well!

    Note: by default Windows takes into account that 256 KB of cache L2 then the difference! with 1 MB and even with 512 KB leads the difference (logical double!)

  • Pascal02

    Good morning,

    First a big thank you for this site that I discover today! — A contribution of additional information that I‘ve had, and yet I’ve been practicing for a long time, that one must always be humble...

    And so I store a maximum —

    Can I abuse by asking how much AND how to calculate the conversion of 3000 kb to HEX?

    and especially keeps watering us with information


  • @pascal02: thank you very much for this comment and not it is not an abuse to ask questions. These are the very essence of this blog!

    As for your question, there is no need to worry about the hexadecimal value. Just tick decimal in when changing the key.

  • overlox

    Thank you very much for this blog, very informative and very relevant
    I have a core i7 920 @ 3.20 ghz
    PC wizzard tells me:
    cache L1 = 8×96kb
    cache L2 = 4×256kb
    cache L3 = 8×8192 kb
    what value should I put?
    How to set the L3 cache?
    Thank you for your answers

  • nycko

    dear Commissioner thank you for all these very interesting articles.
    I'd have a question, I think I have it, but in doubt...
    my processor is an athlon x2 64 4050e, the cache info is;
    L1 2×128
    L2 2×512
    what value to put in the register? 1024Ko I suppose
    thank you in advance for rehearsing it

  • I'm

    MAIGRET: you said that for a value of 6144K you have to put 1800
    So if we do the calculation on the tuto that is: 2048K for 800hex so 2048*3:6144 so 800*3:2400hex NO?
    thank you for answering me if anyone knows why he said to put 1800hex

  • @I'm : the calculation method is even simpler. Open the Windows calculator, pass in advanced mode (Scientific or Programmer) and then check that you are in Decimal. Enter the value in Ko then ticks Hex.

    So that’s 1800 but don't expect miracles in terms of performance...

  • Alain ROGER

    Good morning,
    I tried your tip, unfortunately I didn't find the key in the registry, the nearest one being HKEY_LOCAL_MACHINESYSTETMurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters. Would I have an AMD Athlon 64×2 4000 speciality of not having a L2 cache?
    Thank you for your always very informative articles.

  • @Alain ROGER : it is always possible to create this key. However, I do not recommend it. For your processor, the best thing is to find out about the official website of the brand or to use a component analysis software such as: Everest.

  • Manserk

    useful Tuto we see the difference under some apps that require a lot of performance and it’s nice to win a perf can like that without adding anything to your pc

    on the other hand, the software didn't work so I just searched on google typing the name of my cpu.

    and be careful, always a backup of the registry before touching it