Tryb Tramp jest znacznie wolniejszy niż używanie terminalu do ssh

14

Używam smaku Macacsa Emacsa na OSX Yosemite i przejrzałem każdy wątek na Trampie, który działa powoli bez żadnego rozwiązania.

Tramp jest użyteczny, ale pomiędzy każdą akcją występuje około 100 ms opóźnienie. Nie stanowi to problemu po stronie serwera, ponieważ to opóźnienie nie istnieje, jeśli użyję terminala / iTerm tylko do połączenia ssh z tym samym serwerem.

Myślałem, że problem może być ograniczony do edycji plików, ale okazuje się, że jest wszechobecny. Niezależnie od tego, czy używam tylko zdalnej powłoki, czy tylko naciskam M-x(za pomocą steru) wszystko to jest opóźnione.

Próbowałem ssh, scp i rsync jako metody łączenia bez żadnego rozwiązania. Próbowałem też ControlMaster autobez żadnego efektu.

Czy ktoś miał ten problem i był w stanie go rozwiązać?

m0meni
źródło
Próbowałem znaleźć coś, ta odpowiedź jest jedyną rzeczą blisko
pomocnej
2
Tramp ma rozszerzone możliwości pozyskiwania drewna. Zastosuj (setq tramp-verbose 6)i uruchom ponownie testy. Pojawi się wyczerpujący bufor debugowania Trampa, każdy wpis zaczyna się od znacznika czasu. Przejdź przez ten bufor po (6)wpisach, są to komendy wysyłane zdalnie i dane wyjściowe ze zdalnej powłoki. Sprawdź, czy występują oczywiste opóźnienia. Przy okazji, której wersji Tramp używasz? Sprawdź to za pomocą C-h v tramp-version.
Michael Albinus
Dla sternika-włóczęgi github.com/masasam/…
Peter Becich

Odpowiedzi:

14

Okazuje się, że projectileto było przyczyną problemów. Gdy tylko wyłączyłem projectile-modeTRAMP był gładki jak masło i zacząłem rozumieć szum za tym.

Mam nadzieję, że pomoże to komuś, kto wyczerpał wszystkie inne opcje.

Innym rozwiązaniem, które znalazłem, jeśli nie chcesz ciągle wyłączać pocisku, jest umieszczenie tego polecenia w swoim init.el

(setq projectile-mode-line "Projectile")

Okazuje się, że całe opóźnienie pochodziło od pocisku próbującego obliczyć, co umieścić jako nazwę projektu w linii trybu. Nie jest to dla mnie ważna cecha, więc możesz ustawić ją tak, by mówiła „pocisk”

m0meni
źródło
Jak to debugowałeś? Nie sądzę, że pocisk spowalnia mój TRAMP, ale nie jestem jeszcze w 100% pewien.
Adam Spiers,
1
@AdamSpiers Próbowałem dosłownie wszystkiego, dopóki się nie dowiedziałem. Jeśli chcesz to zrobić we właściwy sposób, możesz spróbować użyć (setq tramp-verbose 6)innego sugerowanego komentarza.
m0meni,
Miałem to już ustawione 7, a także profilowane przez elp-*. Trudno jednak zrozumieć wyniki.
Adam Spiers,
Ten problem jest wielokrotnie zgłaszany na liście problemów z pociskami. Wygląda na to, że commit 323fb8. Rozwiązał to. Miałem ten problem od lat, ale od czasu aktualizacji do pocisku 20171102.55 działa on dobrze.
marcz
3

Znalazłem również rozwiązania na często zadawane pytania o trampach, które odnoszą się do przyspieszania trampa, aby działał całkiem dobrze.

Na stronie oto, co dodałem do mojej konfiguracji:

(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
źródło