Der Tramp-Modus ist viel langsamer als die Verwendung von Terminal für SSH

14

Ich verwende die Macports-Variante von Emacs unter OSX Yosemite und habe alle Threads hier auf Tramp durchgesehen, die ohne Lösung langsam sind.

Tramp kann verwendet werden, aber zwischen jeder Aktion liegt eine Verzögerung von ca. 100 ms. Es ist kein Problem auf der Serverseite, da diese Verzögerung nicht besteht, wenn ich nur Terminal / iTerm verwende, um einfach auf denselben Server zu sshen.

Ich dachte, dass das Problem möglicherweise auf das Bearbeiten von Dateien beschränkt ist, aber es stellt sich heraus, dass es allgegenwärtig ist. Egal, ob ich nur eine Remote-Shell verwende oder nur M-x(mit dem Steuermann) drücke, es ist alles verzögert.

Ich habe versucht, ssh, scp und rsync als Methoden für die Verbindung ohne Lösung. Habe das auch ControlMaster autoohne Wirkung ausprobiert .

Hat jemand dieses Problem gehabt und konnte es lösen?

m0meni
quelle
Versucht, etwas zu finden, diese Antwort ist das einzige, was einer hilfreichen Antwort nahe kommt: \
Nsukami _ 21.10.15
2
Tramp verfügt über erweiterte Protokollierungsmöglichkeiten. Wenden Sie (setq tramp-verbose 6)Ihre Tests an und wiederholen Sie sie. Es wird einen umfassenden Tramp-Debug-Puffer geben, jeder einzelne Eintrag beginnt mit einem Zeitstempel. Durchlaufen Sie diesen Puffer nach den (6)Einträgen. Dies sind die Befehle, die remote gesendet wurden, und die Ausgabe von der Remote-Shell. Prüfen Sie, ob es offensichtliche Verzögerungen gibt. Übrigens, welche Tramp-Version benutzt du? Überprüfen Sie es mit C-h v tramp-version.
Michael Albinus
Für
Steuertramp

Antworten:

14

Es stellte sich heraus projectile, dass dies die Probleme verursachte. Sobald ich projectile-modeTRAMP deaktiviert hatte, war es butterweich und ich begann den Hype dahinter zu verstehen.

Hoffentlich hilft das jemandem, der alle anderen Möglichkeiten ausgeschöpft hat.

Eine andere Lösung, die ich gefunden habe, wenn Sie das Projektil nicht ständig deaktivieren möchten, besteht darin, diesen Befehl in Ihr zu schreiben init.el

(setq projectile-mode-line "Projectile")

Es stellte sich heraus, dass die Verzögerung vom Projektil herrührte, das versuchte zu berechnen, was als Projektname in die Moduszeile eingefügt werden sollte. Dies ist für mich überhaupt keine wichtige Funktion, daher können Sie sie so einstellen, dass sie "Projektil" sagt.

m0meni
quelle
Wie haben Sie das debuggt? Ich glaube nicht, dass das Projektil meinen TRAMP bremst, aber ich bin mir noch nicht 100% sicher.
Adam Spires
1
@AdamSpiers Ich habe einfach buchstäblich alles versucht, bis ich es herausgefunden habe. Wenn Sie es richtig machen möchten, können Sie versuchen, (setq tramp-verbose 6)wie in einem anderen Kommentar vorgeschlagen.
m0meni
Ich hatte das schon eingestellt 7und auch über profiliert elp-*. Die Ergebnisse sind jedoch schwer zu verstehen.
Adam Spires
Dieses Problem wird häufig in der Liste der Projektilprobleme gemeldet. Es scheint, dass Commit 323fb8 es gelöst hat. Ich hatte dieses Problem seit Jahren, aber seit ich auf Projectile 20171102.55 aktualisiert habe, funktioniert es gut.
Marcz
3

Ich habe auch die Lösungen in den Tramp-FAQ gefunden , die die Beschleunigung des Tramps zum Funktionieren bringen.

Auf der Seite habe ich Folgendes zu meiner Konfiguration hinzugefügt:

(setq remote-file-name-inhibit-cache nil)
(setq vc-ignore-dir-regexp
      (format "%s\\|%s"
                    vc-ignore-dir-regexp
                    tramp-file-name-regexp))
(setq tramp-verbose 1)
colelemonz
quelle