Ich benutze Midnight Commander mit Cygwin 64 Bit unter Windows 10 64 Bit.
Nach dem Umzug auf eine neue Maschine und einer sauberen Neuinstallation von Fenstern und Cygwin wurde mein Mitternachtskommandant von Zeit zu Zeit sehr langsam. Ein Neustart hilft, aber dies geschieht zu oft, um eine praktikable Lösung zu sein(Neustart hilft nicht) .
Ich habe keine Ahnung, was der Grund für diese Schwierigkeiten sein könnte. MC funktioniert normalerweise einwandfrei: Pfeilpressen funktionieren gut, das Anzeigen und Bearbeiten ist sofort möglich, aber eine Sache dauert bis zu 10 Sekunden - das Wechseln des Verzeichnisses. Das Suchen in Dateien hat eine ähnliche Verzögerung, jedoch nur einmal (dh nicht in allen, die chdires hätte tun können). Bei Verwendung von Nicht-Mc Cygwin tritt dieses Problem nicht auf.
Der Task-Manager zeigt bei keinem Prozess eine ungewöhnlich hohe CPU- oder Arbeitsspeicherverwendung an. Ich habe cygserverlaufen, verwende bashals meine Shell und habe keine ausgefallenen PS1Einstellungen, meine $CYGWINsind nur winsymlinks:native.
Hier ist ein straceProtokoll, vielleicht hat jemand eine Idee, was falsch gelaufen ist? http://pastebin.pl/view/9b839815 (aufgenommen mit LOCALE=C strace -q -o /tmp/mc-log mc /tmp)
In der aufgezeichneten Sitzung habe ich:
mc im /tmpVerzeichnis gestartet
eingegebenes /tmp/NVIDIA CorporationVerzeichnis
ging wieder hoch ( ..)
eingegebenes /tmp/mc-chanibalVerzeichnis
ging wieder hoch ( ..)
wurde mit F10 beendet
Zusätzliche Timing-Informationen:
Das Finden aller Verzeichnisse in meinem $HOMEdauert 4,6 Sekunden:
$ time find ~ -type d | wc -l (snipped two directories without permissions) 19919 real 0m4.626s user 0m0.796s sys 0m3.765s
A ls -alfür alle diese Verzeichnisse hat viel Zeit in Anspruch genommen, aber der Durchschnitt war ziemlich niedrig:
time (find ~ -type d | while read f; do { time ls -al $f; } \ |& awk '$1 == "real" { printf $2 }' \ | awk -Fm ''; \ echo -e "\t$f"; done \ ) >/tmp/ls-time-log ; (snipped two dirs without permissions) real 12m21.870s user 7m4.576s sys 16m34.446s
Die durchschnittliche Zeit zum ls -alAusführen ist 0,020 s, die min ist 0,017, die maximale Zeit ist 0,154:
Mit dem Overhead der Messzeit beträgt es durchschnittlich 16m34s / 19919 = 0,499s pro Anruf ls -al, zwei awks und eine Iteration von find. Nicht sehr gut, aber keine vier Sekunden.
BEARBEITEN: Dieses Problem wurde dem MC von MC hinzugefügt
Handelt es sich um eine Domain-Maschine oder um eine eigenständige Domäne?
matzeri vor 8 Jahren
0
`$ grep normalize_posix_path 9b839815.strace | awk '' `zeigt ein Timeout von 4 Sekunden bei der Eingabe einiger Verzeichnisse an. Eine ungewöhnliche SID für Datei-ACLs? Können Sie die Zeit zum Ausführen von `ls -l` in denselben Verzeichnissen vergleichen?
matzeri vor 8 Jahren
0
@ matzeri: Dies ist eine eigenständige Windows-Installation, keine angeschlossenen Netzlaufwerke oder Domänencontroller
Krzysztof Bociurko vor 8 Jahren
0
@matzeri: zeit von `ls -al` im verzeichnis oder dessen inhalt ist vernachlässigbar (um echte 0.021s)
Krzysztof Bociurko vor 8 Jahren
0
@matzeri: viel detailliertes Timing in Frage gestellt
Krzysztof Bociurko vor 8 Jahren
0
Nichts klares zum Zeitpunkt. Können Sie überprüfen, ob "mc -u" immer noch das Problem hat? Wenn nicht, dann liegt das Problem bei der Interaktion mit der Subshell.
matzeri vor 8 Jahren
0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/42165/discussion-between-matzeri-and-chanibal).
matzeri vor 8 Jahren
0
1 Antwort auf die Frage
0
Krzysztof Bociurko
Ich habe das Problem gefunden und entschieden, dass es sich um Windows 10 oder einen fehlerhaften Hardwarefehler handelt, nicht um MC. Der Mitternachtsbefehlshaber löst dieses Problem aus, aber er verwendet das Betriebssystem auf die erwartete Weise, daher ist es nicht seine Schuld.
Um genau zu sein, besteht das Problem darin, dass das Aufzählen von Geräten Zeit benötigt (genau 4 oder 5 Sekunden in Windows-Powershell oder 4 Sekunden in Cygwin). Die Lösung in meinem Fall bestand darin, das DVD-Laufwerk zu deaktivieren, das Zeit brauchte. Details zum Cygwin-Mailinglistenthread .