8 十一月, 2004

解决Windows 2000系统关机速度慢的问题

found this accidentally,User Profile Hive Cleanup Service ( uphclean.exe )

http://www.microsoft.com/downloads/details.aspx?FamilyID=1b286e6d-8912-4e18-b570-42470e2f3582&displaylang=en

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
=============

...
最新回复
发表评论


















Bold Italic Link