При использовании синергии иногда отстает

9

Обновление: они исправили Wi-Fi macOS на Synergy 1.9.0! https://symless.com/forums/topic/2587-download-synergy-190-to-fix-the-wifi-macos-bug/

Я использую synergy. Мой рабочий стол linux действует как сервер, а мой macbook подключается как клиент. При использовании синергии они оба подключены к маршрутизатору linksys WRT-45GL, оба используют проводное соединение.

Иногда, когда я впервые наведу курсор мыши на свой MacBook, соединение будет отставать. Например, я буду двигать мышь, но курсор не будет двигаться в течение 2 или 3 секунд. Или я что-то напишу, это не покажется немного. Это случается время от времени. Обычно только в течение первой минуты или около того переключения на Mac, но не обязательно.

Что я могу сделать, чтобы это исправить?

Я пытался проверить загрузку процессора на обеих машинах и не видел всплеска, который бы соответствовал задержке. Я предполагаю, что узкое место находится в сетевом трафике, но я не знаю, как подтвердить это или как это исправить.

Дэвид Онеилл
источник
2
Пробовали ли вы поменять роли машин, чтобы увидеть, повторяет ли это поведение? Тогда вы, по крайней мере, исключаете несколько вариантов.
У меня нет, хотя это не вариант: использование Mac в качестве клиента приводит к тому, что ключи на рабочем столе закручены (что является моей основной машиной), но я попробую, когда у меня появится шанс ...
Дэвид Онеилл
Вы решили это? Принятый ответ - всего лишь советы по устранению неполадок. Какова была причина / решение для вас?
Альберт Бори
@AlbertBori вау - это было 4 года назад. Для меня этого не происходит, но с тех пор у меня свежие установки ОС и другой настольный компьютер ... Я не помню, в чем заключалась проблема. Извините
Дэвид Онеилл
1
Не беспокойся, Дэвид. Это был единственный пост, который я мог найти, в котором обсуждался вопрос, который у меня был. Оказывается, некоторая форма перезапуска служб / компьютеров обычно решает проблему.
Альберт Бори

Ответы:

3

Ну, вы знаете, что это не может быть уровень 2, если подключены только два устройства (таблица Mac НЕ МОЖЕТ заполниться). Если у вас есть статические отображения хостов, это не может быть третий уровень. Это оставляет пропускную способность, коллизии и программное обеспечение. Wireshark может рассказать вам о пропускной способности и иногда может указывать на коллизии. Я бы бросил какой-нибудь дешевый аппаратный блок посередине, в котором есть журналы для доступных коллизий, чтобы проверить это. Тогда вы приступаете к применению.

RobotHumans
источник
1
Это было исправлено! Мы исправили задержку Wi-Fi в MacOS на Synergy 1.9.0! symless.com/forums/topic/…
Ник Болтон
@NickBolton Это не исправлено для многих пользователей, см. Symless.com/forums/topic/… Дополнительно 1.9.0 вылетает при запуске для меня и других людей.
PabloC
3

У меня была такая же проблема всего секунду назад, я попробовал все другие исправления (кроме Ethernet для моего Mac).

На главном компьютере (Windows), откройте Диспетчер задач (Ctrl + Shift + Esc), а затем нажмите на вкладке Сведения в верхней, а затем искать synergy.exe, synergyd.exe, synergys.exeа затем щелкните правой кнопкой мыши на них и под меню набора приоритетов суб выбрать High.

Дилан Ларсен
источник
не сработало :( Есть еще идеи?
DrCord
3

Предпосылки и план решения

Это немного долго, но смысл в том, чтобы обучаться через раздел «Подробные инструкции». Если вы уже образованы, просто прочитайте этот раздел и, возможно, заключение ;-)

Я использую Synergy в Linux и Windows в различных формах с 1990-х годов, и этот вопрос часто возникает. Есть две общие причины, и я имею дело только с первой.

Как правило, это проблема уровня ОС, являющаяся приоритетом планировщика клиента, поэтому решение состоит в том, чтобы просто повысить приоритет клиента. Это улучшит ситуацию, но общее восприятие будет по-прежнему основано на представлениях планировщика о том, насколько важно обновить экран и т. Д. Более подробную информацию см. В конце.

Иногда есть другая причина: один или оба серверных или клиентских процесса умирают и перезапускаются, и в этом случае вы должны включить ведение журнала уровня отладки на сервере и клиенте Synergy и забрать его оттуда. После того, как вы решите это , реализуйте вышеизложенное.

Подробные инструкции

Увеличение приоритета планировщика клиента Windows

Используя Windows 7, я не знаю ярлыков в более новых версиях.

  1. Откройте диспетчер задач (Ctrl-Alt-Esc) и щелкните вкладку «Процессы».

  2. Щелкните правой кнопкой мыши файл synergy.exe, выберите «Установить приоритет» и выберите «Высокий» или «В реальном времени».

  3. Повторите для synergyc.exe.

  4. Если сервер Synergy работает слишком медленно, его процесс - synergys.exe.

Увеличение приоритета планировщика клиента Linux

Нечто подобное должно работать на Mac. Вы можете знать, как это сделать в графическом интерфейсе, но я использую командную строку. Если вы не выполните следующие действия в качестве пользователя root ( sudo su -), вам придется поиграться (как пользователь root) visudoи установить соответствующие права на использование 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

Вы можете скопировать и вставить вышеупомянутое, или поместить это в одну строку, удаляя все \символы и и разрыв строки. Если вы хотите увидеть, что будет запущено, фактически не делая этого, измените последнюю команду на xargs echo renice -19.

Как указывалось выше, это все еще остается за мнением планировщика о важности множества других процессов. Если вы хотите немного узнать, вы можете сделать следующее.

Видя процессы Windows

Откройте диспетчер задач. На вкладке «Процессы» нажмите кнопку «Показать процессы всех пользователей». Затем нажмите в меню «Вид» и выберите «Выбрать столбцы ...». Убедитесь, что отмечены только следующие параметры: имя пользователя, загрузка ЦП, время ЦП, базовый приоритет, командная строка. Вы также можете нажать на Описание, если хотите.

Вы можете перетащить окно, а также столбцы больше, чтобы облегчить чтение. Нажмите на заголовок столбца, чтобы отсортировать его. Вы также можете щелкнуть правой кнопкой мыши на имени изображения и, например, перейти к связанным службам. Это полезно для таких простых имен изображений, как svchost.exe. Если вам нужен действительно мощный инструмент для игры (будьте осторожны!), Попробуйте ProcessHacker .

Видя процессы Linux

Запустите, ps -eo pid,ni,cmd | lessчтобы увидеть все запущенные процессы. Каждая строка представляет состояние процесса, а столбцы: идентификатор процесса, его приоритет и рассматриваемая командная строка. Суть в том, что в Unix чем ниже значение nice, тем выше приоритет.

Вывод

Дело в том, что Synergy зависит от множества других процессов, выполняющих часть своей работы (например, работа с SSL в Pro), и каждый из этих процессов имеет приоритет, назначенный ему планировщиком ОС. Таким образом, на самом деле не существует простого решения.

Даже после применения «исправления», о котором говорилось выше, после входа на экран клиента, на котором вы давно не работали, дела идут медленно, и это происходит из-за того, что все это семейство процессов перенесено на задний план планировщика, так что разговаривать. В наши дни большинство планировщиков являются адаптивными и уменьшают приоритет пользовательских процессов, которые некоторое время простаивали. Чтобы планировщик снова увидел их важными, необходимо некоторое время продолжать их использование, например, много раз перемещать мышь после выхода на экран. Это боль, но именно так работают планировщики ОС в операционных системах не реального времени.

Есть способы настроить это, но это очень специфично для каждой ОС (даже разных выпусков) и хрупко (читай: легко ломается при исправлениях ОС). Не глядя на код, я ожидаю, что Nick & team действительно решит эту проблему, только опустив Synergy до уровня драйвера ядра, что сделает его более хрупким и приведет к значительному скачку цен.

b3ta
источник