View Full Version : Is this true?
abudhu
06-15-2005, 12:56 PM
Saw it in the Licence Plate thread and wondering if anyone has ever tried it as well.
During Windows installation, Setup queries the system processor to determine the size of the Level 2 cache. However, it doesn't always succeed. When this happens, Setup configures a default setting of 256 KB in the registry.
If your computer has a larger Level 2 cache than Setup configured in the registry, your system won't perform optimally.
To significantly increase the performance of your system, change the value in the registry to match your Level 2 cache.
Here's how:
1. Launch the Registry Editor (Start>>Run>>Regedit.exe)
2. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Memory Management.
3. Double-click SecondLevelDataCache DWORD value.
4. Using the options below, change the value in the Value Data text box
to a number that matches the size of your Level 2 cache. Then click OK.
Level 2 cache >>>> Value Data setting
256 KB >>>>>>>>> 0
512 KB >>>>>>>>> 200
1024 KB >>>>>>>> 400
5. Click OK and close the Registry Editor.
You will need to restart the system or log out of Windows XP for the change to take effect.
I would love to do it, if 1) it is true 2) it is SAFE.
djnes
06-15-2005, 12:59 PM
I remember there being a hack for Win98 or so to do this, to corrct the value of the L2 cache, but I thought it wasn't necessary with 2000 and XP.
abudhu
06-15-2005, 01:04 PM
Well. Since I am at work I decided to check it here.
Its true. That really sucks. We are running Dual Xeons here with 512KB on L2 cache. Went to the registry and it read as 0. Suck nuts.
However, since it seems "true" I am wondering if anyone knows where those magical numbers came from? I.e the 200 = 512, and 400 =1024. Seems kind out of the blue.
djnes
06-15-2005, 01:12 PM
http://www.winguides.com/registry/display.php/116/
Note: This tweak is only useful for older processors with the cache located external to the CPU"
Ludic
06-15-2005, 01:18 PM
I did the tweak with the rig in my sig, and I noticed an increase in performance. It can't hurt to try it and revert if you dont' like it.
HTPC Rookie
06-15-2005, 01:19 PM
Well. Since I am at work I decided to check it here.
Its true. That really sucks. We are running Dual Xeons here with 512KB on L2 cache. Went to the registry and it read as 0. Suck nuts.
However, since it seems "true" I am wondering if anyone knows where those magical numbers came from? I.e the 200 = 512, and 400 =1024. Seems kind out of the blue.
I'm running a S754 chip with 512K at work. I went into the registry, changed the value from 0 to 200, saved it, and it put " (512K) " in the key by itself.
So at least the 200 value is known correct.
HHunt
06-15-2005, 01:19 PM
It's hexadecimal.
abudhu
06-15-2005, 01:21 PM
Cool. I'll try when I get home. Like Ludic send I can revert back + if it breaks I have Linux and I was thinking of reformatting anyways. :-P
Curious though, for those who tried it, what "performance increase" did you notice? Quicker loading? Snappier response times?
Ludic
06-15-2005, 01:22 PM
Cool. I'll try when I get home. Like Ludic send I can revert back + if it breaks I have Linux and I was thinking of reformatting anyways. :-P
Curious though, for those who tried it, what "performance increase" did you notice? Quicker loading? Snappier response times?
I noticed a quicker OS load time, including all startup processes. Haven't tested games yet.
djnes
06-15-2005, 01:30 PM
The placebo effect strikes again!
ashmedai
06-15-2005, 01:32 PM
I'm thinking placebo until I see something more solid than subjective antcedotal accounts...but you've got my hopes up. ;)
djnes
06-15-2005, 01:36 PM
Another link...not the third post down:
http://www.neowin.net/forum/lofiversion/index.php/t267746.html
Ludic
06-15-2005, 01:50 PM
No, it's not a placebo effect. My system is slightly faster. I believe it's due to this registry tweak. Notice I'm saying "slightly". No, you're not going to gain a huge increase here. But I've watched my system boot for over a year now, and I know about how fast it normally took. Hell, I've rebooted it a few times today before I made this change.
Doesn't it make sense that if Windows initially queries the processor for L2 cache information and fails, that everytime it queries the processor it fails? It doesn't hurt to manually enter the information. Regardless if it's on die or not.
According to Microsoft:
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.
I'm pretty sure pre Pentium II processors didn't have 2MB L2 cache.
djnes
06-15-2005, 01:59 PM
You need to read the links and the articles, or google it yourself. Either one. It clearly states that this is for older processors.
abudhu
06-15-2005, 02:05 PM
Well our Dual Xeon PC's in our lab are only...2-3 Yrs old, and XP made that mistake as I have pointed out. I personally don't consider 2-3 yr old PC..."old" So are you implying that our work computers fit into the category of "this only works/applies to old processors?"
Read that forum you linked..understandable. However, it never hurt to try right? Strange though, Xp has so many little quirks its annoying. Defaults to 0 even though it knows its using the full potential. They could have just made it say the right amount and make us all happy.
Ludic
06-15-2005, 02:08 PM
You need to read the links and the articles, or google it yourself. Either one. It clearly states that this is for older processors.
Yes, it clearly states that it is intended for older processors. However, Microsoft also clearly states that if it's set to 256KB instead of 2MB (if you have 2MB) would probably have a 0.4 percent performance penalty.
It doesn't say "If you have an older processor and this is set to 256KB instead of 2MB..."
It says "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."
It's the last sentence here:
http://support.microsoft.com/default.aspx?scid=kb;en-us;183063
So Microsoft is saying that there might be up to a .4% increase in performance by changing this registry entry. Regardless of what processor you have. And .4% isn't a lot, and it might not make a difference at all, but on my particular machine, I noticed a slight difference. And if there's any PC in the world that I know a hell of a lot about, it's my own.
ashmedai
06-15-2005, 02:12 PM
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.
Yar.
djnes
06-15-2005, 02:34 PM
Ludic, your own link states that it has nothing to do with your system. As stated before, facts are right there, calling this a placebo effect. Now, who wants to keep arguing with direct links from Microsoft?
Phoenix86
06-15-2005, 02:43 PM
Folks, from the MS link...
"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."
There are confusing statements here. 0 tells the OS to read the processor. If this is working, and you have a P-II or later, changing it will only set the value to what it's supposed to be.
If this setting is not working, and you have 2MB L2 Cache, you *might* see an increase. My bet is this is read by the OS 99.9% of the time correctly unless you have a faulty processor/mobo.
If you want to make a performance claim, back it up. Show us the numbers, otherwise be prepared to hear "placebo effect" a lot.
blink182prj
06-15-2005, 02:43 PM
Also from that Microsoft article:
it is only useful for computers with direct-mapped L2 caches. Pentium II and later processors do not have direct- mapped L2 caches.
???
djnes
06-15-2005, 02:55 PM
Also from that Microsoft article:
???
Bingo, which is why it doesn't apply to any of these machines. Hence, the placebo effect.
abudhu
06-15-2005, 03:39 PM
Well...I hope no one is mad at me. Lol. I just wanted to know if it was true or not :-\
djnes
06-15-2005, 03:43 PM
Well...I hope no one is mad at me. Lol. I just wanted to know if it was true or not :-\
Not at all. It's always better to ask and find out, then continue to wonder. Unfortunately, some people still fall victim to the placebo effect, where they say "it just feels faster", despite a lack of proof or testing. In my google searches, I found people swearing by it, despite the facts saying it doesn't affect their system.
MEfreak
06-15-2005, 08:01 PM
I tested and came up with the following boot times:
Default as found (set to zero):
24s
24s
25s
24s
Set to 200 (for a 512k L2 cache processor, which I have):
28s
28s
28s
28s
Set back to the default of 0:
24s
25s
24s
The recorded boot time was from the first flash of text on the BIOS screen untill the logon prompt screen appeared. These were two clear visual indicators of boot transitions that I felt were appropriate to use as timers.
FWIW, YMMV, etc.
Ludic
06-15-2005, 09:32 PM
Not at all. It's always better to ask and find out, then continue to wonder. Unfortunately, some people still fall victim to the placebo effect, where they say "it just feels faster", despite a lack of proof or testing. In my google searches, I found people swearing by it, despite the facts saying it doesn't affect their system.
I'm not swearing by it.
I was just giving him my impression of the change. Changing a registry value does affect your system, regardless of what value it was. If you want to chant "placebo effect", fine. I know my system better than anyone else, as I built it, have torn it apart, put it back together again, installed multiple OS's, etc and so on. Not once did I claim it would automatically make a difference for anyone else. I said it can't hurt to try it. I'm happy with it, so I'm keeping it. It's just nice to know that if my OS, for whatever reason, happens to look at that entry for the L2 cache size, even if it's just once, that it has the correct number in there.
djnes
06-16-2005, 09:09 AM
I'm not swearing by it.
I was just giving him my impression of the change. Changing a registry value does affect your system, regardless of what value it was. If you want to chant "placebo effect", fine. I know my system better than anyone else, as I built it, have torn it apart, put it back together again, installed multiple OS's, etc and so on. Not once did I claim it would automatically make a difference for anyone else. I said it can't hurt to try it. I'm happy with it, so I'm keeping it. It's just nice to know that if my OS, for whatever reason, happens to look at that entry for the L2 cache size, even if it's just once, that it has the correct number in there.
Did you read the articles???? It does have the correct number, because XP can detect the correct amount!!!! It clearly states that in the articles. Your preaching about knowing your system better than anyone. Fine. Do you know the OS better than Microsoft? No. Microsoft clearly states that XP can correctly detect and use the right amount of L2 cache on processors from the PII and up. It's as plain as day.
1c3d0g
06-16-2005, 12:18 PM
I hope Longhorn will make all those confusing Registry settings go away... :p
abudhu
06-16-2005, 12:50 PM
I hope Longhorn will make all those confusing Registry settings go away... :p
I heard they were dumping DOS (Command Prompt) In favor or a more Linux like BASH Terminal since Developers wanted it.
1c3d0g
06-16-2005, 02:39 PM
About time too! Oh... I really wish they'll implement that in Longhorn... all these things are absolutely necessary. Because as of right now, if Longhorn is only getting Avalon, there's not much incentive to upgrade since all the goodies (WinFS etc.) will come much later on... :)
Ranma_Sao
06-16-2005, 04:46 PM
This setting will do nothing on PII or greater. Sorry.
01101001
06-17-2005, 09:43 AM
2. Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management. 3. Double-click SecondLevelDataCache DWORD value.
"SecondLevelDataCache" doesn't even exist in that location or anywhere else on my machine -- XPPro SP2.
MEfreak
06-17-2005, 11:23 AM
This setting will do nothing on PII or greater. Sorry.
I'm curious why my boot times increased 3 to 4 seconds when using a manual setting. If the setting truly neither helps or hurts performance, I'm left wondering what exactly I did to cause the boot time change...and nothing comes to mind. Odd.
djnes
06-17-2005, 11:30 AM
I'm curious why my boot times increased 3 to 4 seconds when using a manual setting. If the setting truly neither helps or hurts performance, I'm left wondering what exactly I did to cause the boot time change...and nothing comes to mind. Odd.
My boot times vary from more than 3-4 seconds everytime I reboot. Your hardly talking about much of a change at all.
abudhu
06-17-2005, 11:32 AM
"SecondLevelDataCache" doesn't even exist in that location or anywhere else on my machine -- XPPro SP2.
Um...are you blind? :p Yes it does. I have checked in on all our Work Computers which use XP Pro/SP2 and both my Home Computers which use XP Pro/SP2.
Phoenix86
06-17-2005, 12:12 PM
I'm curious why my boot times increased 3 to 4 seconds when using a manual setting. If the setting truly neither helps or hurts performance, I'm left wondering what exactly I did to cause the boot time change...and nothing comes to mind. Odd.
I'm more curious why setting it to what it should have read from the CPU make any change.
djnes, he did 4 boots per setting with little difference in each until he made the change, statistically it's a pretty big... However, it's kinda moot since it was slower. :p
01101001
06-17-2005, 12:47 PM
Um...are you blind?
No, I'm not actually. Are you deaf? :D
Yes it does.
No, it doesn't.
I have checked in on all our Work Computers which use XP Pro/SP2 and both my Home Computers which use XP Pro/SP2.
Well, that's just fabulous! :D However on MY machine there is No reference to "SecondLevelDataCache" in the Registry.
At [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] I have:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"ClearPageFileAtShutdown"=dword:00000000
"NonPagedPoolQuota"=dword:00000000
"NonPagedPoolSize"=dword:00000000
"PagedPoolQuota"=dword:00000000
"PagedPoolSize"=dword:00000000
"SystemPages"=dword:00183000
"PagingFiles"=hex(7):47,00,3a,00,5c,00,70,00,61,00,67,00,65,00,66,00,69,0 0,6c,\ 00,65,00,2e,00,73,00,79,00,73,00,20,00,31,00,30,00,30,00,30, 00,20,00,32,00,\ 30,00,30,00,30,00,00,00,00,00
"PhysicalAddressExtension"=dword:00000000
"SessionViewSize"=dword:00000030
"SessionPoolSize"=dword:00000004
There is no "SecondLevelDataCache".
Phoenix86
06-17-2005, 01:03 PM
01101001, the key exists by default, but not on you're PC. What's your point?
abudhu
06-17-2005, 01:05 PM
01101001, the key exists by default, but not on you're PC. What's your point?
Hm...thats strange though...if it exist by default why wouldn't it show up? Weird.
Phoenix86
06-17-2005, 01:16 PM
Hm...thats strange though...if it exist by default why wouldn't it show up? Weird.
Why is anything that's there be default gone? It's got deleted/removed, possible it was prevented from being installed in the first place, but that's not likely here.
01101001
06-17-2005, 03:05 PM
01101001, the key exists by default, but not on you're PC. What's your point?
I don't have a point. 'Twas a simple observation. If it is a default, then it is weird that I don't have it.
My other XP box does have that entry though ... in 3 locations:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Memory Management]
But that's just another pointless observation, I suppose. :rolleyes:
ashmedai
06-17-2005, 03:45 PM
I would assume that something happened to change the defaults, but maybe that's just because I use a custom install CD myself. ^_^
Hey MEfreak, you didn't try all the options!
vBulletin® v3.8.2, Copyright ©2000-2009, Jelsoft Enterprises Ltd.