Vista Forums
Vista Forums Home Join Vista Forums Donate Vista Tutorials Tags

Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. Whether you need help or just want to post an idea you have on Vista, this is the forum for you.
Register at Vista forums...the world biggest Windows Vista resource Join Vista Forums Now

Go Back   Vista Forums > Vista Forums > Tutorials

Vista Tutorial Categories Network & Internet Tutorials File & Folder Settings Tutorials Taskbar & Start Menu Tutorials Performance & Maintenance Tutorials General Tips Tutorials Programs & Features Tutorials Context Menu Tutorials Shortcut Tutorials Security & System Tools Tutorials Parental Controls Tutorials User Account Tutorials Hardware & Drivers Tutorials Appearance & Personalization Tutorials Backup & Restore Tutorials Music, Photo, Video and Media Tutorials Power Management Tutorials

CPU L2 Cache Memory setting in Vista

Poll: Did this Tutorial help and work for you?
Poll Options
Did this Tutorial help and work for you?

Comment
 
Tutorial Tools Display Modes
<!-- google_ad_section_start -->CPU L2 Cache Memory setting in Vista<!-- google_ad_section_end -->
CPU L2 Cache Memory setting in Vista
How to Set Vista for the CPU L2 Cache Memory Size
Published by Brink
07-05-2007

How to Set Vista for the CPU L2 Cache Memory Size
Information
  The SecondLevelDataCache records the size of the processor cache, also known as the secondary or L2 cache. If the value of this entry is 0, Vista will attempt to retrieve the L2 cache size from the Hardware Abstraction Layer (HAL) for the platform. If Vista fails for some reason to retrieve the L2 cache size from HAL, then it uses a default CPU L2 cache size of only 256 KB. If the default value of the SecondLevelDataCache value is not 0, Vista will use the value (amount of memory) you set instead of 0 (for 256 KB) as the L2 cache size of. This value is designed as a secondary source of cache size information for Vista when the HAL cannot detect the L2 cache from the CPU.
NOTE
  This sets the SecondLevelDataCache inside the registry.

From Microsoft KB183063:


Quote:
Microsoft KB183063
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 CPU L2 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 CPU has a 2 MB L2 cache) would probably have about a 0.4 percent performance penalty.
WARNING
  Only set the value to what your processor actually has for the L2 cache size. Do not use a larger size than it actually has.
RELATED LINKS:


STEP ONE:
Find Out the L2 Cache Size Reported by HAL
NOTE
  This will show you how to see what the L2 cache size is for your CPU as it is reported to Vista by HAL. This value will be used in STEP TWO below to set the SecondLevelDataCache value for this as a backup in case HAL rarely could not detect the L2 cache from the CPU.
1. Generate a System Health Report.
NOTE: For how, see: How to Generate a System Health Report in Vista

2. Click on the Hardware Configuration arrow on the far right to expand it. (See screenshot below step 3)
3. Click on the Devices arrow on the far right to expand it. (See screenshot below)

Arrows.jpg

4. Under Devices, scroll down to Motherboard Classes. (See screenshot below step 5)
A) Click on the + sign to expand root\cimv2:SELECT * FROM Win32_Processor.
B) Click on the + sign to expand Win32_Processor.DeviceID="CPU0".
5. In that list, you will see L2CacheSize and the value beside it for it's size to use it in step 6 in STEP TWO below.
NOTE: For this example you will see 6144 to be used for my CPU's 2x6144 (12MB) L2 size. Now, here's a kicker. The newer Yorkfield Core 2 Quads CPUs use the entire cache for both cores unlike the older CPUs that do not share. So a 2x6144 (12mb) L2 cache would use 122488 (2x6144) instead despite what is reported in Vista for HAL.

System_Health_Report.jpg


STEP TWO:
Set the L2 Cache Size
NOTE
  This will set the SecondLevelDataCache value in the registry, from the value gotten in STEP ONE, as a backup in case HAL rarely could not detect the L2 cache from the CPU and prevent having only a default L2 cache size of 256 KB used as L2 cache size instead by Vista.
1. Open the Start Menu.
2. In the white line (Start Search) area, type regedit and press Enter.
3. Click Continue for UAC prompt.
4. In regedit, go to: (See screenshot below)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

5. In the right pane, right click SecondLevelDataCache and click Modify.

Before_Reg.jpg

6. Dot Decimal, and type in the value in bold (see table below) for your CPU L2 size from STEP ONE above. (See screenshot below table)
NOTE:I have a CPU with a 2x6144 (12MB) L2 cache size, so I would use 6144 (Dec) or 1800 (Hex) since it is 2x. See STEP ONE above for how to get the L2 size for your CPU. Now, here's a kicker. The newer Yorkfield Core 2 Quads CPUs use the entire cache for both cores unlike the older CPUs that do not share. So a 2x6144 (12mb) L2 cache would use 122488 (Decimal) or 3000 (hex) instead despite what is reported in Vista for HAL.

Decimal Value Hexadecimal Value
256 KB100 (hex)
512 KB200 (hex)
1024 KB (1MB)400 (hex)
2048 KB (2MB)800 (hex)
3072 KB (3MB) c00 (hex)
4096 KB (4MB)1000 (hex)
6144 KB (6MB)1800 (hex)
8192 KB (8MB)2000 (hex)
12288 KB (12MB)3000 (hex)
16384 KB (16MB)4000 (hex)
Modify.jpg

7. Click OK to apply.
8. Your registry will look like this below for a 2x6144 (12MB) L2 cache memory size.
NOTE: See STEP ONE above to find out your CPU L2 cache size.

After_Reg.jpg

9. Close regedit.
10. Restart the computer to apply the change.
That's it,
Shawn
Published by
Brink's Avatar
Administrator
Join Date: Apr 2007
Location: Texas, USA
Posts: 15,437
Rep Power: 150
Brink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond reputeBrink has a reputation beyond repute

Tutorial Tools
Show Printable Version Show Printable Version
Email this Page Email this Page

Applies to
All Vista Versions
64 Bit & 32 Bit

Rating
Skill Level
100%100%100%
5

Old 07-21-2007  
Grimace
Member


  Grimace is offline

Re: CPU L2 Cache Memory setting in Vista

Shawn I just thought id inform that for reson unknown to me the 4mb cache setting isnt 1600.

Its actually 1000. I am unsure as to why cause all the rest are correct.

Cheers
Anthony
Old 07-21-2007  
Brink's Avatar
Brink
Administrator


  Brink is offline

Re: CPU L2 Cache Memory setting in Vista

Anthony,

Thank you.
Nice catch. It has been updated.

Shawn
Old 11-19-2007  
maineearle
Newbie


  maineearle is offline

Re: CPU L2 Cache Memory setting in Vista

How do you determine L2 cache size to make these mods
Old 11-19-2007  
Brink's Avatar
Brink
Administrator


  Brink is offline

Re: CPU L2 Cache Memory setting in Vista

Hi Maineearle,

You need to look up your CPU's specs to see that it says. Go to the manufacturer's website to do so.(EX: Intel or AMD) You can find the model number to look it up with by right clicking Computer (in Start menu) and click Properties. You can also find the model number in System Information.

Shawn
Old 11-19-2007  
z3r010's Avatar
z3r010
BOFH


  z3r010 is online now

Re: CPU L2 Cache Memory setting in Vista

Wouldn't something like cpuid give you the info
Old 11-19-2007  
Brink's Avatar
Brink
Administrator


  Brink is offline

Re: CPU L2 Cache Memory setting in Vista

Thank you,

Why, yes it will. It's a standalone EXE program. No need to install, just run the EXE. You can find the information under the CPU tab under Cache Level 2.

http://www.cpuid.com/cpuz.php

Shawn
Old 11-19-2007  
Violent Ken's Avatar
Violent Ken
Member


  Violent Ken is offline

Re: CPU L2 Cache Memory setting in Vista

q6600 has 2x 4096 L2, so i put in 1000?
it's set to 0 currently
Old 11-19-2007  
Asky's Avatar
Asky
Here to Help


  Asky is offline

Re: CPU L2 Cache Memory setting in Vista

^i dunno if we can put 2000(since brink hasnt mentioned it) so better put 1000 to be safe.
Old 11-19-2007  
Brink's Avatar
Brink
Administrator


  Brink is offline

Re: CPU L2 Cache Memory setting in Vista

Quote:
Violent Ken
View Post
q6600 has 2x 4096 L2, so i put in 1000?
it's set to 0 currently
Hi Violent Ken,

This means that you have 8 Mb shared cache between the 4 cores. You should use 2000 as the value. I updated the tutorial for this.

You can read more on your Intel Core 2 Quad Q6600 processor here:

http://www.intel.com/products/processor/core2quad/index.htm


Quote:
Quad-Core Processor:
Provides four complete execution cores in a single processor with 8 MB of L2 cache and a 1066 MHz Front Side Bus. Four dedicated, physical threads help operating systems and applications deliver additional performance, so end users can experience better multi-tasking and multi-threaded performance across many types of applications and work loads.
Quote:
Intel Advanced Smart Cache:
Shared Level 2 cache across each pair of cores that can be dynamically allocated to each processor core, within the pair can access data from fast L2 cache, significantly reducing latency to frequently used data and improving performance.
Shawn
Comment

Tags
cache, cpu, memory, performance & maintenance

Tutorial Tools
Display Modes


Similar Threads
Tutorial Tutorial Starter Category Comments Last Post
You getting the most L2 cache in Vista? bobbavet Vista performance & maintenance 1 09-28-2007 10:14 AM
Setting virtual memory progrmmatically Setting virtual memory progrmmatically Vista General 6 07-24-2007 07:16 AM
Setting Virtual Memory TimS Vista installation & setup 4 07-20-2007 10:30 AM
"This device does not allow its write cache setting to be modified" R. J. Salvi Vista General 0 04-09-2007 08:58 AM
help on setting up virtual memory properly?to prevent framentation GT Vista General 2 02-19-2007 06:32 AM








Vistax64.com is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media 2005-2008
Tutorial powered by GARS 2.1.8m ©2005-2006

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50