Calculating the 'real' size of the registry
How does Windows mesure the 'size' of the registry (as revealed on the property sheet where you set up your pagefile)? The size currently reported (14mb) is not the same as when I select the files in the system32\config folder (and does it include my ntuser.
How does Windows mesure the 'size' of the registry (as revealed on the property sheet where you set up your pagefile)?
The size currently reported (14mb) is not the same as when I select the files in the system32\config folder (and does it include my ntuser.dat, and usrclass.dat in their aswell?)
How does the size of the registry in RAM relate to the size of the files on the hard disk?
Example: I recently deleted my 'HKLM\SYSTEM\ControlSet004' entry (my last failed configuration, as reported in the 'select' key). The size of the exported .reg file was a couple of Mb, so I expected that the reported size of the registry would decrease... nope! In fact my registry has been growing. It 'should' be around 12Mb (Windows 2000 Pro, with all my software installed), but after a few regenerations (and subsequent removals) of redundant 'ControlSet00x' keys the overall size has reportedly increased by 2Mb.
Can someone explain (preferably in English) why the size continues to go up, when the amount of keys and values stored in the registry remain comparatively the same?
The size currently reported (14mb) is not the same as when I select the files in the system32\config folder (and does it include my ntuser.dat, and usrclass.dat in their aswell?)
How does the size of the registry in RAM relate to the size of the files on the hard disk?
Example: I recently deleted my 'HKLM\SYSTEM\ControlSet004' entry (my last failed configuration, as reported in the 'select' key). The size of the exported .reg file was a couple of Mb, so I expected that the reported size of the registry would decrease... nope! In fact my registry has been growing. It 'should' be around 12Mb (Windows 2000 Pro, with all my software installed), but after a few regenerations (and subsequent removals) of redundant 'ControlSet00x' keys the overall size has reportedly increased by 2Mb.
Can someone explain (preferably in English) why the size continues to go up, when the amount of keys and values stored in the registry remain comparatively the same?
Participate on our website and join the conversation
This topic is archived. New comments cannot be posted and votes cannot be cast.
Responses to this topic
HOW TO: Use the Registry Size Estimator Tool (Dureg.exe)
http://support.microsoft.com/?kbid=317382
With regards to the Registry Size Limit value that can be set under the Performance Tab in Windows 2000, this article should explain that.
http://support.microsoft.com/?kbid=124594
I would run the typical registry cleaner apps to optimize and shrink your current registry (Registry Healer / CCleaner/ etc)
---------------------
On a side not Curley_Boy, if you wish to do some static and dynamic monitoring of your current registry environment, you can
1)WinDiff is a Resource Kit utility that compares files and directories before and after changes. You can use WinDiff with Regedt32 or Regedit to compare before and after results from Registry settings. Both Regedt32 and Regedit have ways of dumping the contents of keys or values to text files. In Regedt32, it is done using the Save Subtree As feature. In Regedit, you can use the Export Registry File feature to create a text .reg file. (From the command line, you can also use Regdmp from the Resource Kit, and the Regedit /e option to do basically the same thing as Regedt32 and Regedit.)
The process is pretty straightforward. Create a text file dump of the keys you want to monitor before you make a system change, using one of the methods above. Then make your system change. You may be installing a new application or adding a new service. Any change that affects the Registry (which will be most things!) can be tracked in this way. After you make the change, rerun the dump method on the keys of interest and use WinDiff to compare the difference.
2) WinDiff is great if you want to compare dumps of two Registry trees. However, if you need to compare keys or values in real time against a running system’s Registry, you should familiarize yourself with the reg utility’s compare option. Reg is the Swiss Army knife of Registry tools. The reg compare option replaces the CompReg utility that was available in NT 4.0’s Resource Kit and lets you compare the contents of keys or values on local and remote machines.
3) Regmon lets you spy on Registry activity that a given process creates. RegMon comprises an executable (regmon.exe) and a kernel-mode filter driver (regsys.sys) that installs by default when you first launch RegMon.
http://support.microsoft.com/?kbid=317382
With regards to the Registry Size Limit value that can be set under the Performance Tab in Windows 2000, this article should explain that.
http://support.microsoft.com/?kbid=124594
I would run the typical registry cleaner apps to optimize and shrink your current registry (Registry Healer / CCleaner/ etc)
---------------------
On a side not Curley_Boy, if you wish to do some static and dynamic monitoring of your current registry environment, you can
1)WinDiff is a Resource Kit utility that compares files and directories before and after changes. You can use WinDiff with Regedt32 or Regedit to compare before and after results from Registry settings. Both Regedt32 and Regedit have ways of dumping the contents of keys or values to text files. In Regedt32, it is done using the Save Subtree As feature. In Regedit, you can use the Export Registry File feature to create a text .reg file. (From the command line, you can also use Regdmp from the Resource Kit, and the Regedit /e option to do basically the same thing as Regedt32 and Regedit.)
The process is pretty straightforward. Create a text file dump of the keys you want to monitor before you make a system change, using one of the methods above. Then make your system change. You may be installing a new application or adding a new service. Any change that affects the Registry (which will be most things!) can be tracked in this way. After you make the change, rerun the dump method on the keys of interest and use WinDiff to compare the difference.
2) WinDiff is great if you want to compare dumps of two Registry trees. However, if you need to compare keys or values in real time against a running system’s Registry, you should familiarize yourself with the reg utility’s compare option. Reg is the Swiss Army knife of Registry tools. The reg compare option replaces the CompReg utility that was available in NT 4.0’s Resource Kit and lets you compare the contents of keys or values on local and remote machines.
3) Regmon lets you spy on Registry activity that a given process creates. RegMon comprises an executable (regmon.exe) and a kernel-mode filter driver (regsys.sys) that installs by default when you first launch RegMon.
Thank you very much indeed for this info
I have been trying out the dureg and instaler tools from the MS reskit. Finally I can find out where all the space is going (and get rid of all the junk). I was already familiar with the built-in features of the regedt32 (the 'File Manager' UI lives! :x) and regedit apps, but I had not come across Windiff (I will give this a go next time I try another great "merge n purge" in the registry).
However I am still as to a loss of where the extra mb of space in the registry came from (as unfortunately I didn't know about any of those reskit tools at the time)...
What happened was I dumped ControlSet002 (my default control set) to disk as a .reg file (from regedit). Then ran a search (through notepad) for all mentions of 'ControlSet002' and replaced them with 'ControlSet003' (my last known good set). Then I erased 'ControlSet003' from the registry and merged the updated .reg file as my new 'last known good'.
To cut a long story short I was trying to ensure that my last known good was in perfect sync with my current control set (bar one tweak I was going to add). There had been a previous occasion where I needed to use the back up set and the two weren't in sync and everything got messed up. So I was suprised to find that after merging the new file (in which only one value was different between the two complete sets) there was a huge overall size increase. I also know for a fact that no other programs or drivers were installed between reboots to account for it.
Well perhaps armed with my new set of tools bloats like this in the future will be less common.
I have been trying out the dureg and instaler tools from the MS reskit. Finally I can find out where all the space is going (and get rid of all the junk). I was already familiar with the built-in features of the regedt32 (the 'File Manager' UI lives! :x) and regedit apps, but I had not come across Windiff (I will give this a go next time I try another great "merge n purge" in the registry).
However I am still as to a loss of where the extra mb of space in the registry came from (as unfortunately I didn't know about any of those reskit tools at the time)...
What happened was I dumped ControlSet002 (my default control set) to disk as a .reg file (from regedit). Then ran a search (through notepad) for all mentions of 'ControlSet002' and replaced them with 'ControlSet003' (my last known good set). Then I erased 'ControlSet003' from the registry and merged the updated .reg file as my new 'last known good'.
To cut a long story short I was trying to ensure that my last known good was in perfect sync with my current control set (bar one tweak I was going to add). There had been a previous occasion where I needed to use the back up set and the two weren't in sync and everything got messed up. So I was suprised to find that after merging the new file (in which only one value was different between the two complete sets) there was a huge overall size increase. I also know for a fact that no other programs or drivers were installed between reboots to account for it.
Well perhaps armed with my new set of tools bloats like this in the future will be less common.
Damn posted twice by mistake (and I can't delete it)
this is an edit (ignore!!)
this is an edit (ignore!!)