ประวัติความเป็นมาและแนวทางแก้ไข
ยาวไปหน่อย แต่ประเด็นก็คือให้ความรู้ผ่านส่วนคำแนะนำโดยละเอียด หากคุณมีการศึกษาอยู่แล้วโปรดอ่านหัวข้อนี้และอาจเป็นข้อสรุป ;-)
ฉันใช้ซินเนอร์จี้บน Linux และ Windows ในรูปแบบต่าง ๆ มาตั้งแต่ทศวรรษ 1990 และคำถามนี้ก็ปรากฏขึ้นบ่อยครั้ง มีสาเหตุที่พบบ่อยสองประการและฉันจัดการที่นี่ด้วยสาเหตุแรกเท่านั้น
โดยทั่วไปปัญหาระดับ OS เป็นลำดับความสำคัญของลูกค้าดังนั้นการแก้ปัญหาคือเพียงเพื่อเพิ่มลำดับความสำคัญของลูกค้า นั่นจะปรับปรุงเรื่องต่าง ๆ แต่ประสบการณ์โดยรวมจะยังคงขึ้นอยู่กับมุมมองของตัวกำหนดตารางเวลาว่ามีความสำคัญเพียงใดในการอัปเดตหน้าจอ ฯลฯดูที่ส่วนท้ายเพื่อดูข้อมูลเพิ่มเติม
บางครั้งมีเหตุผลอื่น: กระบวนการเซิร์ฟเวอร์หรือไคลเอนต์หนึ่งหรือทั้งคู่ตายและเริ่มต้นใหม่ในกรณีนี้คุณควรเปิดใช้งานการบันทึกระดับการดีบักบนเซิร์ฟเวอร์และไคลเอนต์ของซินเนอร์จี้แล้วนำมาจากที่นั่น เมื่อคุณได้รับการแก้ไขให้ดำเนินการตามข้างต้น
คำแนะนำโดยละเอียด
การเพิ่มลำดับความสำคัญของกำหนดการไคลเอนต์ Windows
ใช้ Windows 7 ฉันไม่รู้ทางลัดในเวอร์ชั่นที่ใหม่กว่า
เปิดตัวจัดการงาน (Ctrl-Alt-Esc) และคลิกที่แท็บกระบวนการ
คลิกขวาที่ synergy.exe คลิก "Set Priority" แล้วเลือก High หรือ Realtime
ทำซ้ำสำหรับ synergyc.exe
หากเซิร์ฟเวอร์ของ Synergy ช้าเกินไปกระบวนการของมันคือ synergys.exe
การเพิ่มระดับความสำคัญของตัวกำหนดตารางเวลาไคลเอ็นต์ Linux
สิ่งที่คล้ายกันควรใช้กับ Mac คุณอาจรู้วิธีการทำเช่นนี้ใน GUI แต่ฉันใช้บรรทัดคำสั่ง จนกว่าคุณจะทำต่อไปนี้เป็นราก ( 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
เปิดตัวจัดการงาน ในแท็บกระบวนการคลิกที่ปุ่ม "แสดงกระบวนการจากผู้ใช้ทั้งหมด" จากนั้นคลิกที่เมนูมุมมองและที่ "เลือกคอลัมน์ ... " ตรวจสอบให้แน่ใจว่ามีการทำเครื่องหมายเฉพาะต่อไปนี้: ชื่อผู้ใช้การใช้งาน CPU เวลา CPU ลำดับความสำคัญพื้นฐานบรรทัดคำสั่ง คุณสามารถคลิกที่คำอธิบายได้เช่นกันหากต้องการ
คุณสามารถลากหน้าต่างรวมถึงคอลัมน์ที่ใหญ่ขึ้นเพื่อให้อ่านง่ายขึ้น คลิกที่ส่วนหัวของคอลัมน์เพื่อจัดเรียง คุณสามารถคลิกขวาที่ชื่อรูปภาพและไปที่บริการที่เกี่ยวข้อง สิ่งนี้มีประโยชน์สำหรับชื่อรูปภาพที่ไม่สุภาพเช่น svchost.exe หากคุณต้องการเครื่องมือที่มีประสิทธิภาพมากในการเล่นกับ (ระวัง!) ลองProcessHacker
เห็นกระบวนการ Linux
เรียกใช้ps -eo pid,ni,cmd | less
เพื่อดูกระบวนการทำงานทั้งหมด แต่ละบรรทัดแสดงสถานะกระบวนการและคอลัมน์คือ: ID กระบวนการลำดับความสำคัญและบรรทัดรับคำสั่งที่เป็นปัญหา gotcha คือในระบบปฏิบัติการ Unix ยิ่งค่า nice ต่ำลงเท่าใดลำดับความสำคัญก็จะยิ่งสูงขึ้นเท่านั้น
ข้อสรุป
สิ่งคือว่าซินเนอร์จี้ขึ้นอยู่กับกระบวนการอื่น ๆ เป็นจำนวนมากในการทำงานส่วนหนึ่งของมัน (เช่นการจัดการกับ SSL ใน Pro) และกระบวนการเหล่านี้มีลำดับความสำคัญที่กำหนดโดยระบบกำหนดการของระบบปฏิบัติการ ดังนั้นจึงไม่มีทางออกที่ง่ายจริงๆ
แม้หลังจากใช้ "การแก้ไข" ที่อ้างถึงข้างต้นสิ่งต่าง ๆ มักจะช้าลงหลังจากเข้าสู่หน้าจอไคลเอนต์ที่คุณไม่ได้อยู่พักหนึ่งและนั่นก็เนื่องมาจากกระบวนการทั้งหมดในตระกูลนี้ถูกวางลงใน back back scheduler's ดังนั้น พูด. ตัวกำหนดเวลาส่วนใหญ่ในปัจจุบันมีการปรับตัวและลดลำดับความสำคัญของกระบวนการผู้ใช้ที่ไม่ได้ใช้งานเป็นระยะเวลาหนึ่ง เพื่อให้ตัวกำหนดตารางเวลาในการดูพวกเขามีความสำคัญอีกครั้งจำเป็นต้องใช้อย่างต่อเนื่องชั่วครู่เช่นการเลื่อนเมาส์ไปรอบ ๆ หลังจากคุณเข้าสู่หน้าจอ มันเป็นความเจ็บปวด แต่นั่นเป็นวิธีที่ตัวจัดตารางเวลาระบบปฏิบัติการทำงานในระบบปฏิบัติการแบบเรียลไทม์
มีวิธีการปรับแต่งที่มี แต่เฉพาะกับแต่ละระบบปฏิบัติการ (แม้กระทั่งการเปิดตัวที่แตกต่างกัน) และเปราะบาง (อ่าน: แบ่งได้อย่างง่ายดายเมื่อแพทช์ระบบปฏิบัติการ) หากไม่ดูรหัสฉันคาดหวังว่า Nick & ทีมจะแก้ปัญหานี้ได้โดยการผลักดัน Synergy ลงไปถึงระดับไดรเวอร์เคอร์เนลซึ่งจะทำให้มันบอบบางมากขึ้นและทำให้ราคาพุ่งขึ้นอย่างมาก