相乗効果を使用すると、時々遅れます


9

更新: Synergy 1.9.0のmacOS wifiラグを修正しました!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に切り替える最初の1分間程度ですが、必ずしもそうではありません。

これを修正するにはどうすればよいですか?

私は両方のマシンのCPU使用率をチェックしてみましたが、ラグと一致するスパイクは見られませんでした。ボトルネックがネットワークトラフィックにあると思いますが、これを確認する方法や修正する方法がわかりません。


2
マシンの役割を逆にして、それが動作を再現するかどうかを確認しましたか?次に、少なくともいくつかのオプションを除外します。

オプションではありませんが、私はしていません。クライアントとしてMacを使用すると、キーがデスクトップ(私のプライマリマシン)でねじれてしまいます。機会があれば試してみます...
David Oneill

これを解決しましたか?受け入れられた答えは、単にトラブルシューティングのヒントです。あなたの原因/解決策は何でしたか?
Albert Bori 2014年

@AlbertBoriすごい-これは4年前のものです。今のところそれは起こっていませんが、それ以来、新しいOSのインストールと別のデスクトップコンピューターを手に入れました...問題が何であったのか思い出せません。申し訳ありません
デビッドオニール

1
心配しないで、デビッド。これは、私が抱えていた問題について話し合った唯一の投稿でした。関与するサービス/コンピューターを再起動する何らかの形で問題が解決することがわかりました。
Albert Bori 14

回答:


3

2つのデバイスのみが接続されている場合、レイヤー2になることはできません(macテーブルはいっぱいにできません)。静的ホストマッピングがある場合、レイヤー3にすることはできません。これにより、帯域幅、衝突、およびソフトウェアが残ります。Wiresharkは帯域幅について通知し、衝突を示すこともあります。衝突のログをチェックできる安価なハードウェアを真ん中に落とします。次に、アプリケーションに取り掛かります。


1
これは修正されました!Synergy 1.9.0のmacOS wifiラグを修正しました!symless.com/forums/topic/...
ニック・ボルトン

@NickBolton多くのユーザーに対しては修正されていません。symless.com/ forums / topic /を参照してくださいさらに、1.9.0が起動時にクラッシュします。
PabloC 2017

3

1秒前に同じ問題が発生したので、他のすべての修正を試しました(私のMacのイーサネット以外)。

ホストPC(Windowsの場合)には、を探した後、上部の[詳細]タブをクリックし、その後、タスクマネージャ(Ctrlキー+ Shiftキー+ Escキー)に行きsynergy.exesynergyd.exesynergys.exe、右それらにとサブメニューが選択し、設定された優先順位の下でクリックHigh


うまくいかなかった:(他にアイデアはありますか?
DrCord

3

背景とソリューションの概要

これは少し長いですが、要点は「詳細な手順」セクションで説明することです。すでに教育を受けている場合は、このセクションとおそらく結論を読んでください;-)

LinuxとWindowsでSynergyをさまざまな形で1990年代から使用していますが、この質問が頻繁に出てきます。一般的な原因は2つあり、ここでは最初の原因のみを扱います。

これは通常、OSレベルの問題であり、クライアントのスケジューラの優先順位であるため、解決策は単にクライアントの優先順位を上げることです。これで問題は改善されますが、全体的なエクスペリエンスは、画面の更新がどれほど重要であるかについてのスケジューラーの見解に基づいています。詳細については、最後に参照してください。

場合によっては別の理由もあります。サーバーまたはクライアントプロセスの一方または両方が停止して再起動する場合は、Synergyサーバーとクライアントでデバッグレベルのログを有効にして、そこから取得する必要があります。それを解決たら、上記を実装します。

詳細な手順

Windowsクライアントスケジューラの優先度を上げる

Windows 7を使用している場合、新しいバージョンでのショートカットがわかりません。

  1. タスクマネージャを開き(Ctrl-Alt-Esc)、[プロセス]タブをクリックします。

  2. synergy.exeを右クリックし、[優先度を設定]をクリックして、[高]または[リアルタイム]を選択します。

  3. synergyc.exeに対して繰り返します。

  4. Synergyサーバーが遅すぎる場合、そのプロセスはsynergys.exeです。

Linuxクライアントスケジューラの優先度を上げる

Macでも同様のものが動作するはずです。GUIでこれを行う方法を知っているかもしれませんが、私はコマンドラインを使用しています。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

上記をコピーして貼り付けるか、すべての\および改行文字を削除して1行に配置できます。実際に実行せずに実行される内容を確認するには、最後のコマンドをに変更しxargs echo renice -19ます。

上で述べたように、これはまだ他の多くのプロセスの重要性に関するスケジューラーの見解に頼っています。少し学びたい場合は、次のことを行うことができます。

Windowsプロセスの表示

タスクマネージャを開きます。[プロセス]タブで、[すべてのユーザーのプロセスを表示]ボタンをクリックします。次に、[表示]メニューをクリックし、[列の選択...]をクリックします。ユーザー名、CPU使用率、CPU時間、基本優先度、コマンドラインのみがチェックされていることを確認してください。必要に応じて、[説明]をクリックすることもできます。

ウィンドウだけでなく列もドラッグして読みやすくできます。列のヘッダーをクリックして並べ替えます。イメージ名を右クリックして、たとえば、関連するサービスに移動することもできます。これは、svchost.exeなどのブランドイメージ名に役立ちます。本当に強力なツールを操作したい場合は(注意してください!)ProcessHackerを試してください

Linuxプロセスの確認

実行ps -eo pid,ni,cmd | lessすると、実行中のすべてのプロセスが表示されます。各行はプロセスのステータスを表し、列はプロセスID、その優先度、および問題のコマンドラインです。問題は、Unixではnice値が低いほど優先順位が高くなることです。

結論

問題は、Synergyが他の多くのプロセスに依存して(ProでSSLを処理するなど)作業の一部を実行し、これらの各プロセスにOSスケジューラーによって割り当てられた優先順位があることです。したがって、本当に簡単な解決策はありません。

上記の「修正」を適用した後でも、しばらく前からクライアント画面に入った後、処理が遅くなることがよくあります。これは、このプロセスファミリー全体がスケジューラのバックバーナーに配置されているためです。話す。最近のほとんどのスケジューラは順応性があり、しばらくアイドル状態であったユーザープロセスの優先度を下げます。スケジューラーがそれらを再び重要だと見るためには、画面に入ってからマウスを何度も動かすなど、しばらく使用を続ける必要があります。それは面倒ですが、それがOSスケジューラが非リアルタイムオペレーティングシステムで機能する方法です。

それを微調整する方法はいくつかありますが、それは各OS(異なるリリースであっても)に非常に固有であり、壊れやすい(読み取り:OSパッチで簡単に壊れる)。コードを確認しないと、Nick&チームはSynergyをカーネルドライバーレベルまで下げることによってのみこれを実際に解決し、それによって脆弱性が大幅に高まり、大幅な価格上昇を引き起こすと思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.