Saat menggunakan sinergi, kadang-kadang keterlambatan


9

Pembaruan: Mereka memperbaiki lag wifi macOS di Synergy 1.9.0! https://symless.com/forums/topic/2587-download-synergy-190-to-fix-the-wifi-macos-bug/

Saya menggunakan synergy. Desktop linux saya bertindak sebagai server, dan macbook saya terhubung sebagai klien. Saat menggunakan sinergi, keduanya terhubung ke router Linksys WRT-45GL, keduanya menggunakan koneksi kabel.

Terkadang, ketika saya pertama kali mengarahkan mouse ke macbook saya, koneksi akan tertinggal. Sebagai contoh, saya akan menggerakkan mouse tetapi kursor tidak akan bergerak selama 2 atau 3 detik. Atau saya akan mengetik sesuatu, itu tidak akan muncul sebentar. Itu terjadi secara sporadis. Umumnya hanya untuk menit pertama atau lebih beralih ke mac, tetapi tidak harus.

Apa yang bisa saya lakukan untuk memperbaikinya?

Saya sudah mencoba memeriksa penggunaan CPU pada kedua mesin, dan belum melihat lonjakan di sana yang cocok dengan lag. Saya berasumsi kemacetan ada di lalu lintas jaringan, tapi saya tidak tahu bagaimana cara mengonfirmasi ini atau bagaimana cara memperbaikinya.


2
Sudahkah Anda mencoba membalikkan peran mesin untuk melihat apakah itu meniru perilaku? Maka Anda setidaknya mengesampingkan beberapa opsi.

Saya belum, meskipun itu bukan pilihan: menggunakan mac sebagai klien membuat kunci kacau pada desktop (yang merupakan mesin utama saya) saya akan mencoba ketika saya mendapatkan kesempatan, meskipun ...
David Oneill

Apakah Anda menyelesaikan ini? Jawaban yang diterima hanyalah tip pemecahan masalah. Apa penyebab / solusi untuk Anda?
Albert Bori

@AlbertBori wow - ini dari 4 tahun yang lalu. Itu tidak terjadi pada titik ini bagi saya, tapi saya sudah menginstal OS baru, dan komputer desktop yang berbeda sejak itu ... Saya tidak ingat apa masalahnya akhirnya. Maaf
David Oneill

1
Jangan khawatir, David. Ini adalah satu-satunya posting yang saya dapat temukan yang membahas masalah yang saya alami. Ternyata beberapa bentuk me-restart layanan / komputer yang terlibat biasanya menyelesaikan masalah.
Albert Bori

Jawaban:


3

Yah Anda tahu itu tidak bisa menjadi layer 2 jika hanya dua perangkat yang terhubung (tabel mac tidak dapat mengisi). Jika Anda memiliki pemetaan host statis, itu tidak bisa menjadi lapisan tiga. Itu meninggalkan bandwidth, tabrakan, dan perangkat lunak. Wireshark dapat memberi tahu Anda tentang bandwidth dan terkadang dapat menunjukkan tabrakan. Saya akan menjatuhkan beberapa perangkat murah di tengah yang memiliki log untuk tabrakan yang tersedia untuk memeriksa itu. Maka Anda turun ke aplikasi.


1
Ini sudah diperbaiki! Kami memperbaiki lag wifi macOS di Synergy 1.9.0! symless.com/forums/topic/…
Nick Bolton

@NickBolton Tidak diperbaiki untuk banyak pengguna, lihat symless.com/forums/topic/... Selain itu 1.9.0 crash saat start up untuk saya dan orang lain.
PabloC

3

Saya memiliki masalah yang sama beberapa detik yang lalu, saya mencoba semua perbaikan lainnya (selain Ethernet untuk mac saya).

Pada PC host (jendela), pergi ke Task Manager (Ctrl + Shift + Esc), kemudian klik pada rincian tab di atas, kemudian mencari synergy.exe, synergyd.exe, synergys.exedan kemudian klik kanan pada mereka dan di bawah sub menu prioritas set pilih High.


tidak bekerja :( Ada ide lebih lanjut?
DrCord

3

Latar Belakang dan Garis Besar Solusi

Ini agak panjang, tetapi intinya adalah untuk mendidik melalui bagian Instruksi Detail. Jika Anda sudah berpendidikan, baca saja bagian ini dan mungkin kesimpulannya ;-)

Saya telah menggunakan Synergy di Linux dan Windows dalam berbagai bentuknya sejak 1990-an, dan pertanyaan ini sering muncul. Ada dua penyebab umum, dan saya berurusan dengan yang pertama saja.

Ini umumnya masalah tingkat OS, menjadi prioritas penjadwal klien, jadi solusinya adalah hanya untuk meningkatkan prioritas klien. Itu akan meningkatkan masalah, tetapi pengalaman keseluruhan masih akan didasarkan pada pandangan penjadwal tentang betapa pentingnya untuk memperbarui layar, dll. Lihat di akhir untuk lebih lanjut tentang itu.

Kadang-kadang ada alasan lain: satu atau kedua proses server atau klien mati dan akan dimulai ulang, dalam hal ini Anda harus mengaktifkan debug level logging pada server dan klien Synergy, dan mengambilnya dari sana. Setelah Anda memutuskan bahwa , melaksanakan di atas.

Instruksi terperinci

Meningkatkan prioritas penjadwal klien Windows

Menggunakan Windows 7, saya tidak tahu jalan pintas di versi yang lebih baru.

  1. Buka Task Manager (Ctrl-Alt-Esc) dan klik pada tab Processes.

  2. Klik kanan pada synergy.exe, klik "Set Priority", dan pilih High atau Realtime.

  3. Ulangi untuk synergyc.exe.

  4. Jika server Synergy terlalu lambat, prosesnya adalah synergys.exe.

Meningkatkan prioritas penjadwal klien Linux

Sesuatu yang serupa seharusnya berfungsi pada Mac. Anda mungkin tahu bagaimana melakukan ini di GUI, tetapi saya menggunakan baris perintah. Kecuali jika Anda melakukan yang berikut sebagai root ( sudo su -), Anda harus bermain-main (sebagai root) dengan visudodan mengatur hak yang relevan untuk digunakan 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

Anda dapat menyalin & menempelkan di atas, atau meletakkannya di satu baris dengan menghapus semua karakter \dan baris istirahat. Jika Anda ingin melihat apa yang akan dijalankan tanpa benar-benar melakukannya, ubah perintah terakhir menjadi xargs echo renice -19.

Seperti yang dinyatakan di atas, ini masih atas perintah penjadwal tentang pentingnya banyak proses lainnya. Jika Anda ingin belajar sedikit, Anda dapat melakukan hal berikut.

Melihat proses Windows

Buka Task Manager. Di tab Proses, klik tombol "Tampilkan proses dari semua pengguna". Kemudian klik pada menu View, dan pada "Select Columns ...". Pastikan hanya yang berikut dicentang: Nama Pengguna, Penggunaan CPU, Waktu CPU, Prioritas Basis, Baris Perintah. Anda dapat mengklik Deskripsi juga jika Anda mau.

Anda dapat menyeret jendela serta kolom yang lebih besar untuk memudahkan membaca. Klik pada tajuk kolom untuk mengurutkannya. Anda juga dapat mengklik kanan pada nama gambar dan, misalnya, pergi ke layanan terkait. Ini berguna untuk nama gambar yang lembut seperti svchost.exe. Jika Anda ingin alat yang sangat kuat untuk dimainkan (hati-hati!), Coba ProcessHacker .

Melihat proses Linux

Jalankan ps -eo pid,ni,cmd | lessuntuk melihat semua proses yang berjalan. Setiap baris mewakili status proses, dan kolomnya adalah: ID proses, prioritasnya, dan baris perintah yang dipermasalahkan. Gotcha adalah bahwa di Unix, semakin rendah nilainya yang bagus, semakin tinggi prioritasnya.

Kesimpulan

Masalahnya adalah bahwa Synergy bergantung pada banyak proses lain untuk melakukan sebagian pekerjaannya (seperti berurusan dengan SSL dalam Pro), dan masing-masing proses ini memiliki prioritas yang ditetapkan kepadanya oleh penjadwal OS. Jadi tidak ada solusi sederhana.

Bahkan setelah menerapkan "perbaikan" yang disebutkan di atas, hal-hal sering lambat setelah memasuki layar klien di mana Anda belum pernah untuk sementara waktu, dan itu karena ini seluruh keluarga proses yang dimasukkan ke pembakar belakang penjadwal, sehingga untuk berbicara. Sebagian besar penjadwal hari ini adaptif, dan mengurangi prioritas proses pengguna yang telah menganggur selama beberapa waktu. Bagi penjadwal untuk melihatnya sebagai hal yang penting lagi membutuhkan penggunaan yang berkelanjutan untuk sementara waktu, seperti menggerakkan mouse di sekitar setelah Anda memasuki layar. Ini menyebalkan, tapi begitulah cara kerja penjadwal OS bekerja di sistem operasi non-real-time.

Ada beberapa cara untuk mengubahnya, tetapi sangat spesifik untuk setiap OS (bahkan rilis yang berbeda), dan rapuh (baca: mudah rusak pada patch OS). Tanpa melihat kode, saya berharap Nick & tim hanya akan benar-benar menyelesaikan ini dengan mendorong Synergy ke tingkat driver kernel, yang akan membuatnya jauh lebih rapuh, dan menyebabkan lompatan harga yang signifikan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.