Quando si utilizza la sinergia, a volte è in ritardo


9

Aggiornamento: risolto il ritardo wifi macOS su Synergy 1.9.0! https://symless.com/forums/topic/2587-download-synergy-190-to-fix-the-wifi-macos-bug/

Io uso synergy. Il mio desktop Linux funge da server e il mio macbook si collega come client. Durante l'utilizzo della sinergia, entrambi sono collegati a un router WRT-45GL di linksys, entrambi utilizzano una connessione cablata.

A volte, al primo passaggio del mouse sul mio macbook, la connessione è in ritardo. Ad esempio, sposterò il mouse ma il cursore non si sposterà per 2 o 3 secondi. O scriverò qualcosa, non verrà visualizzato per un po '. Succede sporadicamente. Generalmente solo per il primo minuto circa di passaggio al mac, ma non necessariamente.

Cosa posso fare per risolvere questo problema?

Ho provato a controllare l'utilizzo della CPU su entrambe le macchine e non ho visto un picco che corrisponda al ritardo. Presumo che il collo di bottiglia sia nel traffico di rete, ma non so come confermarlo o come risolverlo.


2
Hai provato a invertire i ruoli delle macchine per vedere se replica il comportamento? Quindi almeno escluderai alcune opzioni.

Non l'ho fatto, anche se non è un'opzione: usare il mac come client rende i tasti complicati sul desktop (che è la mia macchina principale) lo proverò quando ne avrò la possibilità, però ...
David Oneill

Hai risolto questo? La risposta accettata è semplicemente suggerimenti per la risoluzione dei problemi. Qual è stata la causa / soluzione per te?
Albert Bori,

@AlbertBori wow - era di 4 anni fa. A questo punto non sta succedendo per me, ma ho nuove installazioni di sistema operativo e un computer desktop diverso da allora ... Non ricordo quale sia stato il problema. Siamo spiacenti
David Oneill il

1
Nessun problema, David. Questo è stato l'unico post che ho trovato che ha discusso del problema che stavo avendo. Risulta che una qualche forma di riavvio dei servizi / computer coinvolti di solito risolve il problema.
Albert Bori,

Risposte:


3

Bene, sai che non può essere livello 2 se sono collegati solo due dispositivi (la tabella mac NON PU CAN riempire). Se si dispone di mapping host statici, non può essere di livello tre. Ciò lascia larghezza di banda, collisioni e software. Wireshark può parlarti della larghezza di banda e talvolta può indicare collisioni. Vorrei rilasciare un pezzo di hardware economico nel mezzo che ha la registrazione per le collisioni disponibili per verificarlo. Allora sei arrivato all'applicazione.


1
Questo è stato risolto! Abbiamo risolto il ritardo del macOS wifi su Synergy 1.9.0! symless.com/forums/topic/…
Nick Bolton,

@NickBolton Non è stato risolto per molti utenti, vedi symless.com/forums/topic/… Inoltre 1.9.0 arresti anomali all'avvio per me e altre persone.
PabloC,

3

Ho avuto lo stesso problema solo un secondo fa, ho provato tutte le altre correzioni (tranne Ethernet per il mio mac).

Sul PC host (Windows), andare al Task Manager (Ctrl + Shift + Esc), quindi fare clic sulla scheda dettagli sulla parte superiore, quindi cercare synergy.exe, synergyd.exe, synergys.exee quindi fare clic destro su di essi e sotto il sottomenu priorità impostata scegliere High.


non ha funzionato :( Altre idee?
DrCord,

3

Contesto di base e soluzione

Questo è un po 'lungo, ma il punto è educare attraverso la sezione Istruzioni dettagliate. Se sei già istruito, leggi questa sezione e possibilmente la conclusione ;-)

Uso Synergy su Linux e Windows nelle sue varie forme dagli anni '90 e questa domanda si presenta spesso. Ci sono due cause comuni, e qui tratterò solo la prima.

È generalmente un problema a livello di sistema operativo, essendo la priorità dello scheduler del client, quindi la soluzione è semplicemente quella di aumentare la priorità del client. Ciò migliorerà le cose, ma l'esperienza complessiva sarà ancora basata sulle opinioni dello scheduler su quanto sia importante aggiornare lo schermo, ecc. Vedi alla fine per ulteriori informazioni al riguardo.

A volte c'è un altro motivo: uno o entrambi i processi del server o del client muoiono e vengono riavviati, nel qual caso è necessario abilitare la registrazione a livello di debug sul server e sul client Synergy e prelevarlo da lì. Una volta risolto ciò , implementa quanto sopra.

Istruzioni dettagliate

Aumentare la priorità dello scheduler client Windows

Utilizzando Windows 7, non conosco le scorciatoie nelle versioni più recenti.

  1. Apri Task Manager (Ctrl-Alt-Esc) e fai clic sulla scheda Processi.

  2. Fare clic con il tasto destro su synergy.exe, fare clic su "Imposta priorità" e selezionare Alta o In tempo reale.

  3. Ripetere l'operazione per synergyc.exe.

  4. Se il server Synergy è troppo lento, il suo processo è synergys.exe.

Aumentare la priorità dello scheduler client Linux

Qualcosa di simile dovrebbe funzionare su Mac. Potresti sapere come farlo nella GUI, ma io uso la riga di comando. A meno che non eseguiate le seguenti operazioni come root ( sudo su -), dovrete giocare (come root) con visudoe impostare i relativi diritti da utilizzare 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

Puoi copiare e incollare quanto sopra o metterlo su una riga rimuovendo tutti i \caratteri di interruzione di riga e. Se vuoi vedere cosa verrà eseguito senza farlo, modifica l'ultimo comando in xargs echo renice -19.

Come detto sopra, questo è ancora secondo il parere dello scheduler sull'importanza di molti altri processi. Se vuoi imparare un po ', puoi fare quanto segue.

Vedere i processi di Windows

Apri Task Manager. Nella scheda Processi, fai clic sul pulsante "Mostra processi da tutti gli utenti". Quindi fare clic sul menu Visualizza e su "Seleziona colonne ...". Accertarsi che siano spuntati solo i seguenti: Nome utente, Utilizzo CPU, Tempo CPU, Priorità base, Riga comandi. Puoi anche fare clic su Descrizione se lo desideri.

È possibile trascinare la finestra e le colonne più grandi per facilitare la lettura. Fai clic sull'intestazione di una colonna per ordinarla. È inoltre possibile fare clic con il pulsante destro del mouse sul nome di un'immagine e, ad esempio, accedere ai servizi associati. Ciò è utile per nomi di immagini insipide come svchost.exe. Se vuoi uno strumento davvero potente con cui giocare (fai attenzione!), Prova ProcessHacker .

Vedere i processi Linux

Esegui ps -eo pid,ni,cmd | lessper vedere tutti i processi in esecuzione. Ogni riga rappresenta uno stato del processo e le colonne sono: l'ID del processo, la sua priorità e la riga di comando in questione. Un gotcha è che in Unix, più basso è il valore piacevole, maggiore è la priorità.

Conclusione

Il fatto è che Synergy dipende da molti altri processi per svolgere parte del suo lavoro (come la gestione dell'SSL in Pro), e ciascuno di questi processi ha una priorità assegnata dallo scheduler del sistema operativo. Quindi non esiste davvero una soluzione semplice.

Anche dopo aver applicato la "correzione" di cui sopra, le cose sono spesso lente dopo essere entrati in una schermata del client in cui non ci si trova da un po 'di tempo, e questo è dovuto al fatto che l'intera famiglia di processi viene messa sul back burner dello schedulatore, quindi parlare. La maggior parte dei programmatori in questi giorni sono adattivi e riducono la priorità dei processi utente che sono inattivi da un po 'di tempo. Affinché lo scheduler possa vederli di nuovo importanti è necessario continuare a utilizzarlo per un po ', ad esempio spostando il mouse molto dopo l'accesso alla schermata. È una seccatura, ma è così che funzionano gli scheduler dei sistemi operativi nei sistemi operativi non in tempo reale.

Ci sono modi per modificarlo, ma è molto specifico per ciascun sistema operativo (anche versioni diverse) e fragile (leggi: si rompe facilmente sulle patch del sistema operativo). Senza guardare il codice, mi aspetto che Nick e il team lo risolvano davvero solo spingendo Synergy al livello del driver del kernel, il che lo renderebbe molto più fragile e causerebbe un significativo salto di prezzo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.