Springe zum Inhalt

2 Berater online

SoftEd Blog – Aktuelle Fach­beiträge rund um die IT

· · Thema: Windows

Hohe CPU-Auslastung durch Adobe Reader (AcroRd32.exe)

Problem:

In einer Terminalserverumgebung unter Windows Server 2008 wurde eine 100% CPU-Auslastung festgestellt. Bei näherer Untersuchung wurde festgestellt, dass der Acrobat Reader  (acrord32.exe) jeweils einen CPU-Kern mit 100% ausgelastet hat obwohl der Benutzer den Reader schon lange wieder geschlossen hatte. Das Programm lief also im Hintergrund weiter. Genügend viele Benutzer (=Anzahl CPU-Kerne) haben damit den Terminalserver vollständig blockiert.

Es zeigte sich, dass die Anzeige der Tipps (siehe Bild) beim Start des Adobe Readers dies versucht haben.

reader

Hinweis: Diese Tipps werden auch beim Öffnen eines PDF-Dokumentes angezeigt.

Lösungen:

Eine Deaktivierung dieser Tipps kann über folgende Wege erfolgen

Variante 1:

Manuell pro Benutzer unter dem Menüpunkt „Bearbeiten – Voreinstellungen“:

Voreinstellungen

Variante 2:

Setzen von Registrieschlüssel & -werten mithilfe von Skripten oder Gruppenrichtlinien:

 

Registrierungsschlüssel:

Version 10

HKEY_CURRENT_USERSoftwareAdobeAcrobat Reader10.0IPM (Adobe Reader X)

Version 11

HKEY_CURRENT_USERSoftwareAdobeAcrobat Reader11.0IPM (Adobe Reader XI)

 

Registrierungswerte:

bShowMsgAtLaunch (REG_DWORD) = 0

bDontShowMsgWhenViewingDoc (REG_DWORD) = 0

 

Variante 3:

Mithilfe des Adobe Customization Wizards  bereits diese Werte bei der Installation mit verteilen:

Unbenannt

 

Fazit:

Nach Aktivierung dieser Einstellungen bei allen Benutzern erfolgte eine zuverlässige Beendigung der acrord32.exe beim Programmbeendigung und auch keine hohe CPU-Auslastung. Was der Adobe Reader im Hintergrund durchgeführt hat entzieht sich unserer Kenntnis.

3 Kommentare für “Hohe CPU-Auslastung durch Adobe Reader (AcroRd32.exe)

  1. Artur Zgadzaj sagt:

    OK, es funktioniert.

    Ein anderer Weg, durch den Schließvorgang des Ladesystems. Es besteht dann keine Notwendigkeit für Änderungen an der Registrierung, Parameter oder Einstellungen Acrobat Reader. Batch-Skript standardmäßig vorbereitet schließt AcroRd32.exe Verfahren und zu diesem Zweck wurde entwickelt, aber das Skript verwendet werden, um wie jedes andere Verfahren zu aufwendig System, das angehalten wurde, wenn das Skript Aufrufe an die entsprechenden Parameter zu schließen. Wenn dieser Parameter enthält einen langen Namen ein Leerzeichen, müssen Sie den Parameter in Anführungszeichen setzen. Innerhalb des Skripts, bis zum Beginn der mehrere Parameter bestimmt werden, zum Beispiel. Der Zeitraum der Aussetzung, die Zeit der erneuten Überprüfung, oder wo zu erstellenden Bericht ist (LOG). Das Skript schließt alle Prozesse erfüllen die Kriterien für jeden Anwender, natürlich, nicht das System, die nicht geschlossen werden können. Kann nützlich auf dem Server, die Arbeit vieler Benutzer.
    Das Skript wird, sich als mindestens belastet Prozessor optimiert, aber es überprüft von Zeit zu Zeit, wenn Sie nicht über einen Prozess, um zu schließen.

    Kopieren Sie den folgenden Text ein, und speichern Sie sie als Datei Batch (BAT) mit einem beliebigen Namen ein.

    Antworten
  2. Artur Zgadzaj sagt:

    @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     other interests:  http://www.widzenia.com
    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

    Antworten
  3. Tobias Fenster sagt:

    Besteht dieses Problem nur unter Windows Server 2008 oder auch unter anderen Betriebssystemversionen?

    Antworten

Kommentieren

Ihre E-Mail-Adresse wird nicht veröffentlicht.

sechzehn − 1 =