/build/static/layout/Breadcrumb_cap_w.png

Fix for Adobe Reader X spiking CPU and AcroRd32.exe process not closing properly

 

I've seen this more and more on my machines since version 10.1.3.  Found a fix here:

http://www.eversity.nl/blog/2012/07/acrord32-exe-hangs-with-high-cpu-usage-when-closing-adobe-reader/

..but the one registry value listed there is wrong (bDontShowMsgWhenViewingDoc should be set to "1").  I tested on a couple of machines with the issue and the moment these settings were in place, Adobe Reader behaved normally (with processes closing out completely instead of hanging and sometimes spiking the CPU).

For anyone else who has run into this issue and wants to deploy the fix using a K1000 script, here's the registry keys that need added:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\10.0\IPM]

"bShowMsgAtLaunch"=dword:00000000
"bDontShowMsgWhenViewingDoc"=dword:00000001

 

And my script settings:

 

Hope that helps!

John


Comments

  • Confirmed this worked. Solved problems for a handful of users. Thank you John! - matthall 11 years ago
  • Allow me to convey their own work in this regard. Thank You.

    Another way through the closing process of loading system. There is then no need for any changes to the registry, parameters or settings Acrobat Reader. Batch script prepared by default closes Acrord32.exe process and to this end has been designed, but the script can be used to close as any other process too burdensome system, which was suspended when the script calls to the appropriate parameter. If this parameter contains a long name with a space, you must enclose the parameter in quotation marks. Inside the script, to the beginning of the several parameters can be determined, for example. Time of suspension, the time of re-checking, or where the report is to be created (LOG). The script closes all processes meet the criteria for any user, of course, not the system that can not be closed. Can be useful on the server, the work of many users. The script is optimized in order to minimize itself burdened processor.

    Save the following text as a file Batch (extension .BAT) with any filename that You want.

    =======================================


    @echo off
    REM Automatic closing Acrobat Reader or other process parameter specified in the call, which too much high the CPU
    REM Preparing: Artur Zgadzaj Status: free for use and distribute
    REM ---------------------------------------------------------------------------------------------

    SET REPEAT_TIME_VERIFICATION_[seconds]=7
    SET IDLE_TIME_[seconds]=5

    SET LOG_FOLDER=C:\UTIL\LOG




    REM # # # # CHECKING OR IS STARTED AS ADMINISTRATOR # # # # #

    FSUTIL | findstr /I "volume" > nul&if not errorlevel 1 goto Administrator_OK

    cls
    echo ************************************
    echo *** RUN AS ADMINISTRATOR ***
    echo ************************************
    echo.
    echo.
    echo Call up just as the Administrator. Abbreviation can be done to the script and set:
    echo.
    echo Shortcut ^> Advanced ^> Run as Administrator
    echo.
    echo.
    echo Alternatively, a single run "Run as Administrator"
    echo or in the Schedule tasks with highest privileges
    pause > nul
    goto:eof
    :Administrator_OK

    SET WD=day
    if "%~1"=="" (SET Close_Process=AcroRd32.exe) else (SET "Close_Process=%~1")
    MD %LOG_FOLDER% 2>NUL
    Setlocal EnableDelayedExpansion

    :again
    cls
    echo Automatic closing %Close_Process%, which are charged to the processor too ...&echo.&echo.

    FOR /F "tokens=2,7,8 delims=," %%A IN ('%SystemRoot%\System32\tasklist.exe /v /FO CSV^|find /I ^"%Close_Process%^"') DO (

    SET PROC=%%C
    SET PROC=!PROC:"=!

    FOR /F "tokens=2,3 delims=:" %%s IN ("!PROC!") DO (SET PR=%%t
    if "!PR:~0,1!"=="0" (SET /A PROC_TIME=%%s*60+!PR:~1,1!) else (SET /A PROC_TIME=%%s*60+!PR:~0,2!))

    if !PROC_TIME! GTR %IDLE_TIME_[seconds]% (
    SET PID=%%A
    SET PID=!PID:"=!

    %SystemRoot%\system32\taskkill.exe /PID !PID! /F

    SET B=%%B
    SET B=!B:%USERDOMAIN%\=!
    SET B=!B:%COMPUTERNAME%\=!
    SET Process_User=!B:"=!

    if not "!DATE_WD!"=="%DATE%" ((FOR /F "tokens=1" %%W IN ('POWERSHELL GET-DATE -format dddd') DO SET WD=%%W)&&SET DATE_WD=%DATE%)
    echo %TIME:~0,8% ^(Hanging: !PROC:~-5!^) !Process_User! >>"%LOG_FOLDER%\%DATE:-=.% ^(!WD:~0,3!^) Close_%Close_Process%.TXT"
    )
    )

    TIMEOUT /T %REPEAT_TIME_VERIFICATION_[seconds]% > nul
    goto again - Artur Zgadzaj 8 years ago
This post is locked
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ