svchost.exe verursacht hohe CPU-Auslastung unter Windows 7

Eine ganze CPU ist ausgelastet – es findet keine Aktivität im Speicher statt und auch keine Festplattenzugriffe. Es sind mehr als ein GB reserviert, jedoch finden viel Netzwerktraffic und I/Os auf dem Prozess svchost.exe statt der eine nahezu 100%-ige CPU-Auslastung auf einem gesamten Kern verursacht. Das alles gibt mir der Taskmanager an Informationen heraus, aber auf den erten Blick hatte ich den Zusammenhang noch nicht durchdrungen.

Im Taskmanager ist davon der Prozess mit folgender Befehlszeile betroffen:

C:\Windows\system32\svchost.exe -k netsvcs

Mein Problem hierbei ist, dass die Windows Updates gelgentlich auch als fehlgeschlagen markiert werden. Dies wirkt als sei dies ein generelles Problem bei einem Windows 7 mit Service Pack 1 zu sein, da ich diese Beobachtung wiederholt auf unterschiedlichen Systemen hatte.

Das Problem

Die Ursache für dieses Problem liegt an mehreren Punkten begründet:

  1. Windows 7 SP1 benötigt inzwischen sehr viele Updates. Ohne SP1 sind es sogar noch viel mehr.
  2. Schwache CPU
  3. langsame Internetverbindung

Wer heute im Jahr 2017 noch ein Windows 7 komplett neu installiert hat inzwischen mit mehr als 220 Updates zu rechnen. Und diese Zahl steigt mit jedem Monat weiter an. Diese Menge ist für einen “normalen” Rechner schon eine ernormes Stück Arbeit an Aktualisierungsarbeit des Betriebssystems.

Die Lösung

Für die Lösung benötigt man viel Zeit, eine gute Internetleitung und ausreichend Geduld. Die Updates liegen bei einigen Giga-Bytes und dauern mit den vielen Neustarts sowie den unzähligen Aktualisierungsoperationen dazwischen locker einen Tag. Um die Sache auf die minimalste Dauer zu begrenzen sollte man regelmäßig den Rechner beobachten und vom System verlangte Neustarts durchführen.

Auch hilft es zum einen sich für die Dauer der Einrichtung einen Adminaccount ohne Passwort anzulegen und der automatisch eingeloggt wird und des weiteren eine Verknüpfung zu Windows Update auf den Desktop zu legen. Diese kann dann nach jedem Neustart immer wieder direkt ausgeführt werden um dann in dem geöffneten Fenster auf “Nach Updates suchen” zu klicken.

Installierte Grafikkarte unter Windows ermitteln

Um Details zur installierten Grafikkarte zu ermitteln, startet man unter Windows mit WINDOWS-Taste+R eine neue Konsole und den Befehl dxdiag eingibt. Es öffnet sich sodann ein Dialogfenster mit Informationen zu den DirectX Einstellungen des lokalen Computers.

Dort kann man im zweiten Reiter “Anzeige” Details zur verbauten Grafikkarte einsehen. Es werden dort Informationen zum verbauten Chip, Speichergröße, sowie Speichergröße, Auflösung und Frequenz angegeben.

Spam Ordner in Thunderbird automatisch synchronisieren

Ich befinde mich in Thunderbird bei meinem E-Mail Posteingang immer im Hauptordner des Posteingangs. Dies ist auch der Ordner welcher automatisch synchronisiert wird. Allerdings werden neu erhaltene Emails im Spam-Ordner nicht fett markiert und deren Anzahl dargestellt. Erst beim Klick auf den Ordner “Spam” erscheint in der Ordnerhierachie die Anzahl der enthaltenen, ungelesenen Mails.

Amazon Echo Dot 2. Generation
Amazon Echo

Lösung

Den Spam Ordner mit der rechten Maustaste anklicken und im Untermenü “Eigenschaften” auswählen. Dort dann im Reiter “Allgemein” die Option “Diesen Ordner auf neue Nachrichten überprüfen, wenn Nachrichten für dieses Konto empfangen werden” aktivieren und mit “OK” diese Einstellung speichern.

Ab sofort werden neu eingehende Nachrichten in diesem Ordner synchronisiert und bei Nachrichteneingang entsprechend angezeigt.

Private Keys in Pagent automatisch beim Start von Windows laden

Ich möchte beim Start von Windows automatisch meine Private Keys in Pagent laden damit ich diese nicht einzeln nach jedem Neustart meines Rechners in Pagent anhängen brauche. Damit kann ich dann in Putty eine Verbindung starten ohne mich zusätzlich zu authentifizieren.

  1. Im Windows Startmenü “Alle Programme” und anschließend “Autostart” erweitern und mit der rechten Maustaste das Kontextmenü öffnen und darin dann “Öffnen” wählen.
  2. In dem geöffneten Ordner mit der rechter Maustaste “Neu” und darin “Verknüpfung” wählen.
  3. In dem neu geöffneten Dialog gibt man als Ziel den Pfad zur pagent.exe. Dies ist in der Regel der Pfad “C:\Program Files (x86)\PuTTY\pageant.exe”
  4. Dann klickt man auf “Weiter”, gibt der Verknüpfung einen beliebigen Namen und speichert diese durch Klick auf “Fertig stellen”.
  5. Die nun erzeugte Verknüpfung klickt man mit der rechten Maustaste an und wählt im Kontextmenü “Eigenschaften”.
  6. Dort ergänzt man nun das oben eingegebene Ziel um den zu ladenen Private Key. Dies könnte dann zum Beispiel dann das neu Ziel
    "C:\Program Files (x86)\PuTTY\pageant.exe" "C:\Users\vader\Documents\SSH-Keys\key.ppk"

    sein.

  7. Möchte man mehrere Keys laden so kann man dies durch Aneinanderreihung von mehreren Schlüsseln ermöglichen:
    "C:\Program Files (x86)\PuTTY\pageant.exe" "C:\Users\vader\Documents\SSH-Keys\key-1.ppk" "C:\Users\vader\Documents\SSH-Keys\key-2.ppk" "C:\Users\vader\Documents\SSH-Keys\key-3.ppk"
  8. Optional kann man auch das Arbeitsverzeichnis “Ausführen in” auf ein beliebiges Verzeichnis setzen – hier zum Beispiel “C:\Users\vader\Documents\SSH-Keys\”, so kann man die Keys auch ohne explizite Pfadangaben anhängen, was dann deutlich kürzer, leichter zu administrieren und somit auch weniger Fehleranfällig ist:
     "C:\Program Files (x86)\PuTTY\pageant.exe" key-1.ppk key-2.ppk key-3.ppk

Weiterführende Literatur

Scrolling in Excel mit Pfeiltasten ausschalten

Problem

Wenn ich im Excel mit den Pfeiltasten in die nächste Zelle navigieren möchte scrollt lediglich das Excel Arbeitsblatt in die jeweilige Richtung der gewählten Pfeiltaste, nicht jedoch der Fokus in die jeweilige Zelle.

Ursache

Es ist das Scrolling aktiviert. Über die Taste Scrolling oder auch Rollen auf der Tastatur oberhalb der Taste Pos1 kann zwischen Navigieren und Rollen gewählt werden.

Leider wird zusätzlich bei vielen moderneren Tastaturen nicht mehr über eine Status-LED angezeigt, dass die Taste gedrückt wurde und diese Funktion soeben aktiv ist.

Lösung

Durch einmaliges Drücken wird die Rollen-Funktion wieder deaktiviert und man kann wieder von Feld zu Feld navigieren.

Windows 7 Zwischenablage funktioniert nicht immer in Outlook 2003

Ich habe einen Text der Zwischenablage und möchte diesen in Outlook 2003 ein beliebiges Element (z.B. E-Mail, Kalender, Aufgabe oder Kontakt) einfügen. Dieses Element wurde per STRG+C kopiert und soll nun in eine neue Email eingefügt werden. Dies lässt sich jedoch nicht Einfügen da die Zwischenablage offensichtlich leer ist. Wechselt man in das ursprüngliche Programm zurück und kopiert das Element erneut lässt es sich Problemlos einfügen.

Ein Fehlverhalten des Users oder zwischenzeitliches Überschreiben der Inhalte durch andere Aktionen lassen sich ausschließen, da dieses Verhalten reproduzierbar ist.

Windows 7 Zwischenablage funktioniert nicht immer in Outlook 2003 weiterlesen

Windows Benutzer automatisch anmelden

Man sollte sich grundsätzlich vor Augen führen, dass jeder PC gegen unautorisierte Zugriffe geschützt werden muss. Wer jedoch seinen Rechner bereits in einer geschützten Umgebung betreibt oder allen zutrittsberechtigten Personen vertraut, den kann die ständige Passworteingabe auch schonmal nerven.

Wer sich dafür entscheidet kann dies unter Windows 7 wie folgt einrichten:

  1. Die Konsole im Startmenü via cmd öffnen
  2. Den Befehl control userpasswords2 eingeben
  3. Den Start der Benutzerkontensteuerung mit einem Administratoraccount bestätigen
  4. In der Liste “Benutzer dieses Computers” den Benutzer auswählen der künftig automatisch eingeloggt werden soll
  5. Checkbox “Benutzer mussen Benutzernamen und Kennwort eingeben” abwählen
  6. Änderungen mit OK bestätigen
  7. Es folgt ein Popup in dem nun durch zweimalige Eingabe des zugehörigen Passworts der automatische Login verifiziert wird
  8. Mit Klick auf OK ist dieser Vorgang abgeschlossen und der Rechner wird automatisch mit jedem Neustart mit dem gewählten Benutzer eingeloggt
  9. Die Konsole kann wieder geschlossen werden

Windows Ordner winsxs voll

Nachdem meinem Systemlaufwerk im Laufe der Zeit immer weniger Speicherplatz zur Verfügung stand analysierte ich diesen Zustand und stellte fest, dass in meinem Windows 7 im Ordner C:\Windows\winsxs unglaublich viele Dateien liegen die für mich keinen Sinn ergeben und wie temporäre Installationsdateien aussehen. Der Ordner dort ist mit mehr als 12GB auch noch so groß, dass er meiner Meinung nach gelöscht werden kann.

Wer das jedoch tut kann mitnichten eine böse Überraschung erleben, da Windows dort Systemänderungen abspeichert. Dieser Ordner kann lediglich mittels einem Tool um unnötige Dateien bereinigt werden, welches von Microsoft bereits von Haus aus mitgeliefert wird:

DISM.exe /Cleanup-Image /Online /spsuperseded

Ordnergröße vor der Bereinigung: 12.268 MB
Ordnergröße nach der Bereinigung: 9.905 MB

Die Bereinigung hat bei mir etwas mehr als 2 GB Speicherplatz freigeschafft. Das ist jetzt nicht unbedingt der Burner, aber immerhin etwas – denn auf meiner 30GB SSD sind das immerhin wieder 6% freier Speicherplatz mehr.

Back in time

Hin uns wieder steht man als Entwickler vor der Aufgabe einen Prozess zu verschiedenen Zeitpunkten zu testen. Das löst man meist recht pragmatisch indem man die Systemzeit ändert und sodann seine Tests durchführt. Dies hat jedoch oftmals einen unangenehmen Beigeschmack, der sich unter anderem im folgenden bemerkbar macht:

  1. Andere Programme legen ein ungewolltes Verhalten an den Tag
  2. Andere Benutzer auf dem gleichen System sind ebenfalls von  der Zeitumstellung betroffen
  3. Der Taskplaner startet Jobs die während der gegenwärtigen Uhrzeit das System negativ beeinflussen
  4. Zertifikate werden plötzlich ungültig
  5. Logeinträge des Systems sowie jene diverser Applikationen sind möglicherweise nicht mehr zuordnbar bzw. nur schwer nachvollziehbar

Welche Gründe man nun auch immer für die Zeitumstellung hat und sich mit den damit verbundenen Problemen herumschlagen muss – sofern die Entwicklung auf einem Windowssystem stattfindet ist man mit dem Tool RunAsDate in der Lage einen beliebigen Prozess mit einer eigenen Zeiteinstellung gezielt zu starten. Dafür klinkt dieses Tool sich in die Kernel-API ein und manipuliert die Zeit für den Prozess mit der übergebenen Zeiteinstellung.

Einen PHP-Webserver in anderen Zeiten starten:

RunAsDate.exe /movetime 01\01\2001 18:15:00 C:\php5\php.exe -S localhost:8000 -t D:\var\www\mydomain\

PHP im CLI-Modus starten:

RunAsDate.exe /movetime 01\01\2001 18:15:00 C:\php5\php.exe -r “date(‘Y-m-d H:i:s’);fgets( STDIN );”

Beachte:

  1. Manche Zeiteinstellungen z.B. vor 2000 oder ein Datum vor bestimmten Zeitpunkten zu den das Programm einfach seine Kalkulationen unterlässt lassen das gewünschte Programm nicht starten oder zu ungewünschten Ergebnissen führen
  2. Es ist nicht empfehlenswert Programme zu starten, die einer zeitlichen Beschränkung unterliegen, da diese möglicherweise das intern gegenprüfen und so ihren Dienst künftig gänzlich verweigern

Download:

http://www.heise.de/download/runa04sdate-1169076.html