Plötzlich haben alle Cygwin-Befehle, die ich von der Windows-Befehlszeile aus starte, eine Verzögerung von ~ 10-20 Sekunden, bevor sie ausgeführt werden, sodass Cygwin völlig unbrauchbar wird. Ich habe bereits versucht, ohne Erfolg neu zu installieren.
Das Ausführen der Befehle aus einem Bash-Shell-Fenster heraus funktioniert einwandfrei (beim Starten von Bash sehe ich die Verzögerung). Das Entfernen aller Einträge aus meiner lokalen PATH-Variablen hat keinen Einfluss. Ich verwende Windows 7 x64 und Cygwin x64 v 1.7.34 (0.285 / 5/3).
windows-7
windows
command-line
cygwin
85fce
quelle
quelle
C:\cygwin\bin>.\ls.exe <ENTER>
Antworten:
Gelegentlich arbeite ich in einer Windows-Domäne mit Tausenden von Benutzern.
Ich möchte keinen Best-Rate-Ansatz machen. Ich würde es vorziehen, wenn Cygwin Benutzerinformationen nach Bedarf zwischenspeichert. Es stellt sich heraus, dass dies einfach zu tun ist.
Einfach
cygserver
beim einloggen ausführen .Führen Sie das
cygserver-config
Programm nur einmal aus , um es richtig einzurichten . Dies wird so eingerichtetcygserver
, dass es als Windows-Dienst mit den richtigen Anmeldeinformationen ausgeführt wird. Führen Sie dies in einem Administrator- Cygwin-Fenster aus.Was macht
cygserver
für michSchauen Sie sich die Dokumentation auf der Cygwin-Website an . Grundsätzlich werden die Daten vom Benutzer zwischengespeichert und sichergestellt, dass IPC zwischen allen Cygwin- Prozessen funktioniert .
Ihre Laufleistung kann natürlich variieren, aber dies ist jetzt meine bevorzugte Arbeitsweise. Ich hätte es vor Jahren tun sollen.
quelle
/usr/bin/cygserver-config: line 181: cygrunsrv: command not found
,C:/cygwin64/bin
Ist auf derPATH
als Administrator angemeldet ...C:\cygwin64\bin\cygrunsrv.exe
? Haben Sie fälschlicherweise Schrägstriche (/
) in Ihrem verwendet%PATH%
? Ist das cygrunsrv- Paket installiert?C:\cygwin64\bin\cygrunsrv.exe
existiert nicht, hat dascygrunsrv: NT/W2K service initiator
Paket installiert und alles funktioniert.Es scheint mit Authentifizierung zu tun zu haben. Für mich 40 Sekunden, um etwas auszuführen. Danach scheint die Prozesserstellung in diesem Prozessbaum ziemlich schnell zu sein.
https://www.cygwin.com/faq.html#faq.using.startup-slow
Also ich
Ich habe meine lokale Authentifizierung und meine eigenen Active Directory-Anmeldeinformationen zwischengespeichert
Ich habe Cygwin nur gesagt, dass ich diese beiden Dateien verwenden soll
Ich habe alle Cygwin-Prozesse abgebrochen und erneut gestartet. Alles läuft jetzt schön und schnell. Ich werde diesen Hack bei jedem Cygwin DLL-Datei-Update entfernen und sehen, wie es mir geht.
Dies ist nur eine Skizze - Sie werden zumindest Backups aufbewahren wollen!
BEARBEITEN
Veraltet Siehe meine neuere Antwort auf diese Frage für eine bessere (IMHO) Lösung.
quelle
Lesen Sie das Update weiter unten, es stellte sich heraus, dass dies nicht das Problem ist.
Ich habe unter einer extremen Version dieses Problems gelitten, obwohl es zeitweise auftritt. Wenn das Problem besteht, dauern alle Befehle zwischen 20 Sekunden und im Extremfall mehrere Minuten. Es wird für einige Tage auftreten und dann für einige Tage verschwinden. Übrigens, ich habe ein extrem schnelles System mit vielen DRAM-, SSD-Laufwerken usw.
Ich habe jetzt endlich eine Kandidatentheorie, die Dinge erklären könnte. Ich habe Cygwin gerade über setup-x86_64.exe aktualisiert (was ich selten mache) und danach sind die Dinge wieder extrem reaktionsschnell (buchstäblich 1000-mal schneller als zuvor). Ich vermute, das Rebaseall am Ende des Updates hat den Unterschied ausgemacht.
Update: Die Beschleunigung, die ich zuvor gesehen habe, war anscheinend ein Zufall. Als das Problem einen Monat später erneut auftrat, konnte es nicht behoben werden. Es stellte sich heraus, dass das Deaktivieren des Windows Defender-Live-Schutzes die Verlangsamung sofort behebt.
quelle
Als Fußnote stellte ich fest, dass ich die
passwd
undgroup
-Dateien nach einem Cygwin-Update neu erstellen musste. Da das langsame Verhalten erneut auftrat, dauerte der Autorebaseteil der Installation mehrere Tage.Ich musste auch die Standarddatei nsswitch.conf auf meinem (Windows 10) System nicht ändern.
Das langsame Verhalten zeigte sich übrigens auch in der Windows-Eingabeaufforderung und in portablen Anwendungen. Bei einigen tragbaren Anwendungen dauerte es mehrere Stunden, bis beim Start ein Fenster angezeigt wurde.
quelle
So manifestierte sich dieses Problem für mich. Bei den ersten, sagen wir 20, Befehlen, die an der Eingabeaufforderung von Cygwin eingegeben wurden, war es schnell, aber dann wurde es plötzlich schmerzhaft langsam.
Ich habe versucht, die oben genannte Authentifizierung zu beheben. Es hat bei mir nicht funktioniert.
In den Cygwin-FAQ wird berichtet, dass Cygwin keine Leerzeichen in Benutzer- oder Gruppennamen mag. Siehe Mein Windows-Anmeldename enthält ein Leerzeichen. Wird dies zu Problemen führen? .
Mein Gruppenname enthielt ein Leerzeichen, daher habe ich es in der
/etc/group
im Authentifizierungsfix generierten Datei in einen Unterstrich geändert . Das hat auch nicht funktioniert.Andere Postings für das gleiche Problem haben gemeldet, dass es für den Virenscanner resultiert. Ich habe meinen vorhandenen Virenscanner (System Center Endpoint Protection) durch Sophos ersetzt. Das hat das Problem für mich behoben.
Ich hoffe das hilft.
quelle
Ich hatte eine Weile ein Problem mit der langsamen Ausführung von Builds auf Cygwin.
Ich war gestern gezwungen zu aktualisieren und bin auf das Problem gestoßen, dass rebaseall einfach nicht ausgeführt werden konnte. Dies zwang mich, mich mit anderen Dingen zu befassen, und ich fand einen Bericht, von dem bekannt war, dass Trusteer Rapport / Endpoint Protection Probleme mit der Wiederherstellung und langsame Reaktionszeiten verursacht. Also entfernte ich es über die normale Windows-Deinstallationsmethode in der Systemsteuerung.
Ich habe dann ein Rebaseall von der Dash-Oberfläche als Admin ausgeführt.
Das heißt also, (win7) aus dem Startmenü geben Strich. Die Bindestrich-Verknüpfung wird angezeigt. Klicken Sie mit der rechten Maustaste, um als Administrator ausgeführt zu werden. Führen Sie anschließend Folgendes aus:
/ usr / bin / rebaseall -v
Kaffee trinken gehen ... Es dauert einige Sekunden, bis die Ausgabe angezeigt wird. Wenn es länger als 5 Minuten nicht funktioniert, liegt ein anderes Problem vor.
Dies hat das Rebaseall behoben, aber auch die Geschwindigkeit meines Builds massiv erhöht. Versuchen Sie, es zu entfernen, um festzustellen, ob es installiert ist.
quelle
c:\msys64\user\bin\dash.exe
. Um es als Administrator ausführen zu können, musste ich auf meinem Desktop eine Verknüpfung dazu erstellen. Leider hat dies mein langsames Cygwin nicht repariert: (