8 十一月, 2004
解决Windows 2000系统关机速度慢的问题
found this accidentally,User Profile Hive Cleanup Service ( uphclean.exe )
More details, see extended text quoted below, or open readme.txt
UPHClean v1.5e readme.txt Updated March 4, 2004 by Robin Caron All feedback appreciated to uphclean@microsoft.com WHAT IS UPHCLEAN ================ UPHClean is a service that once and for all gets rid of problems with user profile not unloading. You are having profile unload problems if you experience slow logoff (with Saving Settings for most of the time while logging off), roaming profiles that do not reconcile, or the registry size limit is reached. WHY DO PROFILES NOT UNLOAD? =========================== Many system and service processes do work on behalf of users. When the work is done the system or service process is responsible for releasing handles it has to the user profile hive. If this is not done by the service as the user logs off the profile cannot be unloaded. This problem in code can be caused by improper coding either in Microsoft software or 3rd party software (e.g. printer drivers, virus scanner service, etc). With the information provided by the system there is no way to find out what software needs to be corrected to allow profiles to unload. WHAT DOES THE USER SEE? WHAT HAPPENS TO THE PROFILE? =====================================================
Windows 2000: The system attempts to unload the profile 60 times at 1 second intervals. This retry logic rarely helps so in most cases after 60 seconds of the user waiting at the Saving Settings message box the system gives up and roaming profiles are not reconciled. The number of retries can be changed to allow the user to log off faster (this can be done using the policy under Computer Configuration, Administrative Template, System, User Profiles, Maximum retries to unload and update user profile) WHY SHOULD I USE UPHCLEAN? ========================== In the past these issues have been fixed by code changes to release the registry handle. The disadvantage of this approach is that in many cases multiple issues (different code paths) are causing the profiles to not unload. Unless all problem code paths are fixed profiles do not unload. The concept of UPHClean is to deal with these the same way the operating system deals with other resource issues: when a task is done resources (memory, handles, etc) are automatically reclaimed. UPHClean accomplishes this simply by monitoring for users to log off and verifying that unused resources are reclaimed. If they are not it reclaims the resource and logs its action. This approach is superior as it works for any known reason that profiles do not unload and also will keep working to address new unknown issues. Another advantage to UPHClean is that no computer restart is required to install it or remove it (except on Windows NT 4). You can install and remove UPHClean to find out whether it helps with a profile unload problem or not. You can do this without having to worry about what hotfix, service pack, feature pack, etc has been installed. Set it and forget is the goal of UPHClean. By default UPHClean takes action to allow profiles to unload. You can choose to have UPHClean only report what processes it finds preventing profiles from unloading. To do this, install UPHClean and use the registry editor to set: HKLMSystemCurrentControlSetServicesUPHCleanParametersREPORT_ONLY to 1. You can also have UPHClean log the call stack that is responsible for the profile hive handle. This is necessary to find out what software is responsible for the hive handle in processes used for many purposes (e.g. svchost.exe, dllhost.exe, winmgmt.exe). To enable call stack logging use the registry editor to set: HKLMSystemCurrentControlSetServicesUPHCleanParametersCALLSTACK_LOG to 1. Logging the call stack is computationally and memory intensive. You should use this option to collect information and then turn it off. To get more accurate call stack logging it may be necessary to get symbols installed on the computer. You can read about getting symbols at: http://www.microsoft.com/whdc/ddk/debugging/symbols.mspx HOW CAN I TELL IF I'M HAVING A PROFILE UNLOAD PROBLEM? ====================================================== Events are recorded in the event log in most cases. You can use Event Viewer to look for the following events: Windows 2000: The application event log has error events with source Userenv, event id 1000. When you call up the event you get the one of following events: Windows cannot unload your registry file. If you have a roaming profile, your settings are not replicated. Contact your administrator. DETAIL - Access is denied. - or - Windows cannot unload your registry class file. If you have a roaming profile, your settings are not replicated. Contact your administrator. DETAIL Access is denied. - or - Windows cannot log you on because the profile cannot be loaded. Contact your network administrator. This last error is relevant if you find one of the other ones earlier in the application log.
Windows 无法卸载注册表文件。如果有一个移动配置文件,您的
DETAIL - 拒绝访问。 ,内部版本号((2195))。
INSTALLATION
============
To automatically install it (you need uphclean-setup.msi):
- Double click the setup.msi
To manually install it (you need a copy of uphclean.exe):
- Create a directory under Program Files for the service
(e.g. c:program filesuphclean)
- Copy the program (uphclean.exe) to the directory
(e.g. c:program filesuphcleanuphclean.exe)
- Open a command prompt on the computer
- Change directory where you copied the program
(e.g cd program filesuphclean)
- Run the program with the -install switch to install the service and start it
(e.g. uphclean -install)
The service is set to automatically start when the computer boots so you will
not need to start it manually. Below I've listed the events that you will find
in the application log when it takes positive steps to unload profile hives.
REMOVAL
=======
If you used automatic installation:
- Open Control Panel
- Open Add/Remove Programs
- Click on User Profile Hive Service and select Remove
If you manually installed:
- Run the program with the -remove switch to stop the service and remove it (e.g. uphclean -remove)
- Remove the UPHClean directory under c:program files
LOGGED EVENTS
=============
...
最新回复
发表评论



