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.
Öffnen Sie den Task-Manager (Strg-Alt-Esc) und klicken Sie auf die Registerkarte Prozesse.
Klicken Sie mit der rechten Maustaste auf synergy.exe, klicken Sie auf "Priorität festlegen" und wählen Sie entweder "Hoch" oder "Echtzeit".
Wiederholen Sie dies für synergyc.exe.
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 visudo
den 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.