Bei der Nutzung von Synergien bleibt dies manchmal zurück

9

Update: Sie haben die MacOS Wifi Verzögerung auf Synergy 1.9.0 behoben! https://symless.com/forums/topic/2587-download-synergy-190-to-fix-the-wifi-macos-bug/

Ich benutze synergy. Mein Linux-Desktop fungiert als Server und mein MacBook stellt eine Verbindung als Client her. Während sie Synergieeffekte nutzen, sind beide über eine Kabelverbindung mit einem linksys WRT-45GL-Router verbunden.

Manchmal verzögert sich die Verbindung, wenn ich zum ersten Mal mit der Maus auf mein MacBook fahre. Zum Beispiel bewege ich die Maus, aber der Cursor bewegt sich 2 oder 3 Sekunden lang nicht. Oder ich tippe etwas, es wird für eine Weile nicht angezeigt. Es passiert sporadisch. Im Allgemeinen nur für die erste Minute der Umstellung auf den Mac, aber nicht unbedingt.

Was kann ich tun, um dies zu beheben?

Ich habe versucht, die CPU-Auslastung auf beiden Computern zu überprüfen, und dort keine Spitze festgestellt, die mit der Verzögerung übereinstimmt. Ich gehe davon aus, dass der Engpass im Netzwerkverkehr liegt, weiß aber nicht, wie ich dies bestätigen oder beheben kann.

David Oneill
quelle
2
Haben Sie versucht, die Rollen der Maschinen umzukehren, um festzustellen, ob das Verhalten repliziert wird? Dann schließen Sie zumindest einige Optionen aus.
Ich habe keine, obwohl das keine Option ist: Wenn ich den Mac als Client verwende, werden die Schlüssel auf dem Desktop (der mein Hauptcomputer ist) verrückt. Ich werde es versuchen, wenn ich die Gelegenheit dazu bekomme ...
David Oneill
Haben Sie das gelöst? Die akzeptierte Antwort sind lediglich Tipps zur Fehlerbehebung. Was war die Ursache / Lösung für Sie?
Albert Bori
@ AlbertBori wow - das war vor 4 Jahren. Zu diesem Zeitpunkt passiert es für mich noch nicht, aber ich habe seitdem neue Betriebssysteminstallationen und einen anderen Desktop-Computer ... Ich kann mich nicht erinnern, was das Problem war. Entschuldigung
David Oneill
1
Keine Sorge, David. Dies war der einzige Beitrag, den ich finden konnte, in dem das Problem besprochen wurde, das ich hatte. Es stellt sich heraus, dass eine Form des Neustarts der beteiligten Dienste / Computer das Problem normalerweise behebt.
Albert Bori

Antworten:

3

Nun, Sie wissen, dass es nicht Schicht 2 sein kann, wenn nur zwei Geräte verbunden sind (die Mac-Tabelle kann nicht gefüllt werden). Wenn Sie statische Hostzuordnungen haben, kann dies nicht Schicht drei sein. Das lässt Bandbreite, Kollisionen und Software. Wireshark kann Sie über die Bandbreite informieren und manchmal auf Kollisionen hinweisen. Ich würde ein billiges Stück Hardware in die Mitte werfen, das Protokollierung für Kollisionen zur Verfügung hat, um dies zu überprüfen. Dann sind Sie bei der Anwendung.

RobotHumans
quelle
1
Dies wurde behoben! Wir haben die MacOS Wifi Verzögerung auf Synergy 1.9.0 behoben! symless.com/forums/topic/…
Nick Bolton
@NickBolton Es ist nicht für viele Benutzer behoben , siehe symless.com/forums/topic/…. Zusätzlich stürzt 1.9.0 beim Start für mich und andere Personen ab.
PabloC
3

Ich hatte vor einer Sekunde das gleiche Problem. Ich habe alle anderen Korrekturen ausprobiert (außer Ethernet für meinen Mac).

Auf dem Host - PC (Windows), gehen Sie auf den Task - Manager (Strg + Shift + Esc), dann klicken Sie auf die Registerkarte Details auf der Oberseite, dann suchen Sie nach synergy.exe, synergyd.exe, synergys.exeund klicken Sie dann auf rechts auf sie und unter der eingestellten Priorität Untermenü wählen High.

Dylan Larsen
quelle
hat nicht funktioniert :( Irgendwelche weiteren Ideen?
DrCord
3

Hintergrund und Lösungsüberblick

Dies ist etwas lang, aber es geht darum, über den Abschnitt Detaillierte Anweisungen zu unterrichten. Wenn Sie bereits ausgebildet sind, lesen Sie einfach diesen Abschnitt und möglicherweise die Schlussfolgerung ;-)

Ich verwende Synergy unter Linux und Windows seit den 1990er Jahren in seinen verschiedenen Formen, und diese Frage taucht häufig auf. Es gibt zwei häufige Ursachen, und ich beschäftige mich hier nur mit der ersten.

Es handelt sich im Allgemeinen um ein Problem auf Betriebssystemebene, da es die Scheduler-Priorität des Clients darstellt. Die Lösung besteht also einfach darin, die Priorität des Clients zu erhöhen. Das wird die Sache verbessern, aber die Gesamterfahrung wird immer noch auf den Ansichten des Planers basieren, wie wichtig es ist, den Bildschirm usw. zu aktualisieren. Weitere Informationen hierzu finden Sie am Ende.

Manchmal gibt es einen anderen Grund: Einer oder beide Server- oder Client-Prozesse sterben ab und werden neu gestartet. In diesem Fall sollten Sie die Protokollierung auf Debug-Ebene auf Synergy Server und Client aktivieren und von dort aus übernehmen. Sobald Sie entschlossen sind , dass , implementieren die oben.

Detaillierte Anleitung

Erhöhen der Priorität des Windows-Client-Schedulers

Unter Windows 7 kenne ich die Verknüpfungen in neueren Versionen nicht.

  1. Öffnen Sie den Task-Manager (Strg-Alt-Esc) und klicken Sie auf die Registerkarte Prozesse.

  2. Klicken Sie mit der rechten Maustaste auf synergy.exe, klicken Sie auf "Priorität festlegen" und wählen Sie entweder "Hoch" oder "Echtzeit".

  3. Wiederholen Sie dies für synergyc.exe.

  4. Wenn der Synergy-Server zu langsam ist, lautet sein Prozess synergys.exe.

Erhöhen der Priorität des Linux-Client-Schedulers

Ähnliches sollte auf dem Mac funktionieren. Sie wissen vielleicht, wie das in der GUI geht, aber ich benutze die Kommandozeile. Wenn Sie als root ( sudo su -) Folgendes nicht tun , müssen Sie (als root) mit visudoden entsprechenden Nutzungsrechten herumspielen und diese einrichten 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

Sie können die obigen \Zeichen kopieren und einfügen oder in eine Zeile einfügen, indem Sie alle Zeichen und Zeilenumbrüche entfernen . Wenn Sie sehen möchten, was ausgeführt wird, ohne es tatsächlich zu tun, ändern Sie den letzten Befehl in xargs echo renice -19.

Wie oben erwähnt, liegt dies immer noch im Auftrag des Schedulers, wie wichtig viele andere Prozesse sind. Wenn Sie etwas lernen möchten, können Sie Folgendes tun.

Anzeigen von Windows-Prozessen

Öffnen Sie den Task-Manager. Klicken Sie auf der Registerkarte Prozesse auf die Schaltfläche "Prozesse aller Benutzer anzeigen". Klicken Sie dann auf das Menü Ansicht und dann auf "Spalten auswählen ...". Stellen Sie sicher, dass nur Folgendes aktiviert ist: Benutzername, CPU-Auslastung, CPU-Zeit, Basispriorität, Befehlszeile. Sie können auch auf Beschreibung klicken, wenn Sie möchten.

Sie können das Fenster sowie größere Spalten ziehen, um das Lesen zu erleichtern. Klicken Sie auf eine Spaltenüberschrift, um danach zu sortieren. Sie können auch mit der rechten Maustaste auf einen Bildnamen klicken und beispielsweise zu den zugehörigen Diensten wechseln. Dies ist nützlich für langweilige Bildnamen wie svchost.exe. Wenn Sie ein wirklich leistungsfähiges Tool zum Spielen benötigen (seien Sie vorsichtig!), Versuchen Sie es mit ProcessHacker .

Linux-Prozesse sehen

Ausführen ps -eo pid,ni,cmd | less, um alle laufenden Prozesse anzuzeigen. Jede Zeile repräsentiert einen Prozessstatus, und die Spalten sind: die Prozess-ID, ihre Priorität und die betreffende Befehlszeile. Ein Problem ist, dass in Unix die Priorität umso höher ist, je niedriger der schöne Wert ist.

Fazit

Die Sache ist, dass Synergy von einer ganzen Reihe anderer Prozesse abhängt, um einen Teil seiner Arbeit zu erledigen (z. B. den Umgang mit SSL in Pro), und jedem dieser Prozesse wird vom OS-Scheduler eine Priorität zugewiesen. Es gibt also wirklich keine einfache Lösung.

Selbst nach dem Anwenden des oben genannten "Fixes" sind die Dinge nach dem Aufrufen eines Client-Bildschirms, auf dem Sie eine Weile nicht gewesen sind, oft langsam, und das liegt daran, dass diese ganze Familie von Prozessen auf den Backburner des Schedulers gestellt wird sprechen. Die meisten Scheduler sind heutzutage anpassungsfähig und verringern die Priorität von Benutzerprozessen, die seit einiger Zeit inaktiv sind. Damit der Scheduler sie wieder als wichtig ansieht, muss er noch eine Weile verwendet werden, z. B. indem Sie die Maus nach dem Aufrufen des Bildschirms häufig bewegen. Es ist ein Schmerz, aber so funktionieren OS-Scheduler in Nicht-Echtzeit-Betriebssystemen.

Es gibt Möglichkeiten, dies zu optimieren, aber es ist sehr spezifisch für jedes Betriebssystem (auch für verschiedene Versionen) und fragil (sprich: bricht bei Betriebssystem-Patches leicht ab). Ohne auf den Code zu schauen, würde Nick & Team dies wahrscheinlich nur wirklich lösen, indem Synergy auf die Ebene der Kerneltreiber heruntergedrückt wird, was es viel fragiler macht und einen signifikanten Preissprung verursacht.

b3ta
quelle