Podczas korzystania z synergii czasami się opóźnia


9

Aktualizacja: Naprawili opóźnienie w macOS wifi na Synergy 1.9.0! https://symless.com/forums/topic/2587-download-synergy-190-to-fix-the-wifi-macos-bug/

używam synergy. Mój pulpit Linux działa jak serwer, a mój MacBook łączy się jako klient. Korzystając z synergii, oba są podłączone do routera linksys WRT-45GL, oba za pomocą połączenia przewodowego.

Czasami, kiedy po raz pierwszy przeskakuję na mój macbook, połączenie będzie opóźnione. Na przykład przesunę mysz, ale kursor nie będzie się poruszał przez 2 lub 3 sekundy. Albo coś napiszę, nie pojawi się na chwilę. Zdarza się sporadycznie. Generalnie tylko przez pierwszą minutę przełączania na mac, ale niekoniecznie.

Co mogę zrobić, aby to naprawić?

Próbowałem sprawdzić użycie procesora na obu komputerach i nie widziałem kolca, który pasowałby do opóźnienia. Zakładam, że wąskie gardło występuje w ruchu sieciowym, ale nie wiem, jak to potwierdzić lub jak to naprawić.


2
Czy próbowałeś odwrócić role komputerów, aby sprawdzić, czy replikuje to zachowanie? Wtedy przynajmniej wykluczasz kilka opcji.

Nie mam, chociaż nie jest to możliwe: używając Maca, gdy klient sprawia, że ​​klucze wyskakują na pulpicie (który jest moją podstawową maszyną), spróbuję, kiedy będę miał okazję
David Oneill

Rozwiązałeś to? Przyjęta odpowiedź to tylko wskazówki dotyczące rozwiązywania problemów. Jaka była dla Ciebie przyczyna / rozwiązanie?
Albert Bori

@AlbertBori wow - to było 4 lata temu. Nie dzieje się to w tym momencie dla mnie, ale mam od tego świeżą instalację systemu operacyjnego i inny komputer stacjonarny ... Nie przypominam sobie, jaki był problem. Przepraszam
David Oneill

1
Bez obaw, David. To był jedyny post, który mogłem znaleźć, który omawiał problem, który miałem. Okazuje się, że jakaś forma ponownego uruchomienia zaangażowanych usług / komputerów zazwyczaj rozwiązuje problem.
Albert Bori

Odpowiedzi:


3

Cóż, wiesz, że nie może to być warstwa 2, jeśli podłączone są tylko dwa urządzenia (stół mac NIE MOŻE się wypełnić). Jeśli masz statyczne odwzorowania hostów, nie może to być warstwa trzecia. To pozostawia pasmo, kolizje i oprogramowanie. Wireshark może Ci powiedzieć o przepustowości i może czasami wskazywać kolizje. Wrzuciłem trochę taniego sprzętu w środku, który ma rejestrację kolizji, aby to sprawdzić. Potem jesteś w aplikacji.


1
Zostało to naprawione! Naprawiliśmy opóźnienie w macOS wifi na Synergy 1.9.0! symless.com/forums/topic/…
Nick Bolton

@NickBolton Nie jest naprawiony dla wielu użytkowników, zobacz symless.com/forums/topic/… Dodatkowo 1.9.0 zawiesza się przy starcie dla mnie i innych osób.
PabloC

3

Miałem ten sam problem zaledwie sekundę temu, próbowałem wszystkich innych poprawek (innych niż Ethernet dla mojego Maca).

Na komputerze głównym (Windows) przejdź do Menedżera zadań (Ctrl + Shift + Esc), a następnie kliknij kartę szczegółów na górze, a następnie wyszukaj synergy.exe, synergyd.exe, synergys.exe a następnie kliknij je prawym przyciskiem myszy i pod ustawionym priorytetem wybierz podmenu High.


nie działa :( Jakieś dalsze pomysły?
DrCord

3

Zarys tła i rozwiązania

To trochę za długo, ale chodzi o to, by edukować poprzez sekcję Instrukcje szczegółowe. Jeśli jesteś już wykształcony, po prostu przeczytaj tę sekcję i ewentualnie wniosek ;-)

Od lat 90. korzystam z Synergy na Linuksie i Windows w różnych formach i często pojawia się to pytanie. Istnieją dwie typowe przyczyny i zajmuję się tutaj tylko pierwszą.

Jest to zazwyczaj problem na poziomie systemu operacyjnego, będący priorytetem harmonogramu klienta, więc rozwiązaniem jest po prostu zwiększenie priorytetu klienta. To poprawi sprawy, ale ogólne doświadczenie będzie nadal oparte na poglądach terminarza na temat ważności aktualizacji ekranu itp. Zobacz na końcu więcej.

Czasami jest inny powód: jeden lub oba procesy serwera lub klienta umierają i zostają ponownie uruchomione. W takim przypadku należy włączyć rejestrowanie poziomu debugowania na serwerze Synergy i kliencie, i zabrać go stamtąd. Po rozwiązaniu problemu że , zastosuj powyższe.

Szczegółowe instrukcje

Zwiększanie priorytetu programu planującego klienta Windows

W systemie Windows 7 nie znam skrótów w nowszych wersjach.

  1. Otwórz Menedżera zadań (Ctrl-Alt-Esc) i kliknij kartę Procesy.

  2. Kliknij prawym przyciskiem myszy na synergy.exe, kliknij „Ustaw priorytet” i wybierz opcję Wysoka lub W czasie rzeczywistym.

  3. Powtórz dla synergyc.exe.

  4. Jeśli serwer Synergy jest zbyt wolny, jego proces to synergys.exe.

Zwiększanie priorytetu programu planującego klienta Linux

Coś podobnego powinno działać na Macu. Możesz wiedzieć, jak to zrobić w GUI, ale używam wiersza poleceń. Chyba że wykonasz następujące czynności jako root ( sudo su - ), będziesz musiał grać (jako root) za pomocą visudo i ustanowić odpowiednie prawa do korzystania renice.

ps -eo pid,ni,cmd |\
grep synergy |\
grep -v grep |\
cut -d" " -f2 |\
while read pid; do echo -n $pid" "; done |\
xargs renice -19

Możesz skopiować i; wklej powyższe lub umieść je w jednym wierszu, usuwając wszystkie \ i znaki podziału wiersza. Jeśli chcesz zobaczyć, co zostanie uruchomione bez faktycznego wykonania, zmień ostatnie polecenie na xargs echo renice -19.

Jak wspomniano powyżej, jest to wciąż na żądanie harmonogramu dotyczące ważności wielu innych procesów. Jeśli chcesz się trochę nauczyć, możesz wykonać następujące czynności.

Sprawdzanie procesów systemu Windows

Otwórz Menedżera zadań. W zakładce Procesy kliknij przycisk „Pokaż procesy od wszystkich użytkowników”. Następnie kliknij menu Widok i „Wybierz kolumny ...”. Upewnij się, że zaznaczone są tylko następujące elementy: Nazwa użytkownika, Wykorzystanie procesora, Czas procesora, Priorytet bazy, Wiersz polecenia. Możesz także kliknąć Opis, jeśli chcesz.

Możesz przeciągać okno, a także większe kolumny, aby ułatwić czytanie. Kliknij nagłówek kolumny, aby go posortować. Możesz także kliknąć nazwę obrazu prawym przyciskiem myszy i na przykład przejść do powiązanych usług. Jest to przydatne dla takich mdłych nazw obrazów jak svchost.exe. Jeśli chcesz naprawdę potężnego narzędzia do gry (uważaj!), Spróbuj ProcessHacker .

Widząc procesy Linuksa

Biegać ps -eo pid,ni,cmd | less aby zobaczyć wszystkie uruchomione procesy. Każda linia reprezentuje status procesu, a kolumny to: identyfikator procesu, jego priorytet i linia poleceń. Chodzi o to, że w systemie Unix, im niższa wartość nice, tym wyższy priorytet.

Wniosek

Rzecz polega na tym, że Synergy zależy od wielu innych procesów, aby wykonać część swojej pracy (np. Radzenie sobie z SSL w Pro), a każdy z tych procesów ma priorytet przypisany mu przez harmonogram OS. Tak więc naprawdę nie ma prostego rozwiązania.

Nawet po zastosowaniu „poprawki”, o której mowa powyżej, po wejściu na ekran klienta często dochodzi do spowolnienia, a to dlatego, że cała rodzina procesów jest umieszczana na tylnym palniku harmonogramu mówić. Większość planistów w dzisiejszych czasach ma charakter adaptacyjny i zmniejsza priorytet procesów użytkownika, które były bezczynne przez pewien czas. Aby program planujący mógł je ponownie uznać za ważne, wymaga dalszego używania przez pewien czas, na przykład przesuwania myszy po ekranie. To ból, ale w ten sposób harmonogramy OS działają w systemach operacyjnych innych niż czas rzeczywisty.

Istnieją sposoby, aby to zmienić, ale jest to bardzo specyficzne dla każdego systemu operacyjnego (nawet różnych wersji) i kruche (czytaj: łatwo się psuje po łatkach OS). Nie patrząc na kod, oczekuję, że Nick i amp; zespół naprawdę rozwiąże ten problem, spychając Synergy w dół do poziomu sterownika jądra, co sprawi, że będzie on bardziej kruchy i spowoduje znaczny skok cen.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.