पृष्ठभूमि और समाधान की रूपरेखा
यह थोड़ा लंबा है, लेकिन यह बिंदु विस्तृत निर्देश खंड के माध्यम से शिक्षित करना है। यदि आप पहले से ही शिक्षित हैं, तो बस इस अनुभाग को पढ़ें और संभवतः निष्कर्ष ;-)
मैं 1990 के दशक से अपने विभिन्न रूपों में लिनक्स और विंडोज पर सिनर्जी का उपयोग कर रहा हूं, और यह सवाल अक्सर उठता है। दो सामान्य कारण हैं, और मैं केवल पहले के साथ यहां व्यवहार करता हूं।
यह आमतौर पर एक ओएस-स्तर का मुद्दा है, क्लाइंट की शेड्यूलर प्राथमिकता है, इसलिए समाधान बस क्लाइंट की प्राथमिकता को बढ़ाने के लिए है। इससे मामलों में सुधार होगा, लेकिन समग्र अनुभव अभी भी शेड्यूलर के विचारों पर आधारित होगा कि स्क्रीन को अपडेट करना कितना महत्वपूर्ण है, आदि उस पर अधिक के लिए अंत में देखें।
कभी-कभी एक और कारण होता है: सर्वर या क्लाइंट दोनों में से एक या दोनों की प्रक्रिया मर जाती है और फिर से शुरू हो जाती है, इस स्थिति में आपको सिनर्जी सर्वर और क्लाइंट पर डीबग स्तर लॉगिंग को सक्षम करना चाहिए, और इसे वहां से ले जाना चाहिए। एक बार जब आप हल हो रहे हैं कि , ऊपर लागू करते हैं।
विस्तृत निर्देश
विंडोज क्लाइंट शेड्यूलर प्राथमिकता बढ़ाना
विंडोज 7 का उपयोग करते हुए, मुझे नए संस्करणों में शॉर्ट-कट्स का पता नहीं है।
टास्क मैनेजर (Ctrl-Alt-Esc) खोलें और प्रोसेस टैब पर क्लिक करें।
Synergy.exe पर राइट-क्लिक करें, "प्राथमिकता निर्धारित करें" पर क्लिक करें, और उच्च या रियलटाइम चुनें।
Synergyc.exe के लिए दोहराएं।
यदि सिनर्जी सर्वर बहुत धीमा है, तो इसकी प्रक्रिया synergys.exe है।
लिनक्स क्लाइंट शेड्यूलर प्राथमिकता बढ़ाना
कुछ इसी तरह मैक पर काम करना चाहिए। आप यह जान सकते हैं कि यह GUI में कैसे किया जाता है, लेकिन मैं कमांड लाइन का उपयोग करता हूं। जब तक आप निम्नलिखित रूट ( sudo su -
) के रूप में करते हैं , आपको 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
।
जैसा कि ऊपर कहा गया है, यह अभी भी कई अन्य प्रक्रियाओं के महत्व पर अनुसूचक के दृष्टिकोण के इशारे पर है। यदि आप थोड़ा सीखना चाहते हैं, तो आप निम्न कार्य कर सकते हैं।
विंडोज प्रक्रियाओं को देखकर
टास्क मैनेजर खोलें। प्रक्रिया टैब में, "सभी उपयोगकर्ताओं से प्रक्रिया दिखाएं" बटन पर क्लिक करें। फिर दृश्य मेनू पर क्लिक करें, और "कॉलम चुनें ..." पर। सुनिश्चित करें कि केवल निम्नलिखित टिक किए गए हैं: उपयोगकर्ता नाम, सीपीयू उपयोग, सीपीयू समय, आधार प्राथमिकता, कमांड लाइन। आप चाहें तो विवरण पर क्लिक कर सकते हैं।
आप आसानी से पढ़ने के लिए खिड़की के साथ-साथ स्तंभों को बड़ा कर सकते हैं। इसके द्वारा सॉर्ट करने के लिए एक कॉलम हेडर पर क्लिक करें। आप एक छवि नाम पर राइट-क्लिक भी कर सकते हैं और, उदाहरण के लिए, संबंधित सेवाओं पर जाएं। यह svchost.exe जैसे धुंधली छवि के नामों के लिए उपयोगी है। यदि आप एक बहुत शक्तिशाली उपकरण चाहते हैं, तो (सावधान रहें!), ProcessHacker को आज़माएँ ।
लिनक्स प्रक्रियाओं को देखकर
ps -eo pid,ni,cmd | less
सभी चल रही प्रक्रियाओं को देखने के लिए चलाएँ । प्रत्येक पंक्ति एक प्रक्रिया स्थिति का प्रतिनिधित्व करती है, और कॉलम हैं: प्रक्रिया आईडी, इसकी प्राथमिकता और प्रश्न में कमांड-लाइन। एक गेटा यह है कि यूनिक्स में, अच्छा मूल्य जितना कम होगा, प्राथमिकता उतनी ही अधिक होगी।
निष्कर्ष
बात यह है कि सिनर्जी अपने काम का हिस्सा करने के लिए कई अन्य प्रक्रियाओं पर निर्भर करता है (जैसे कि प्रो में एसएसएल के साथ काम करना), और इनमें से प्रत्येक प्रक्रिया को ओएस अनुसूचक द्वारा सौंपी गई प्राथमिकता है। इस प्रकार वास्तव में कोई सरल उपाय नहीं है।
ऊपर बताए गए "फिक्स" को लागू करने के बाद भी, क्लाइंट स्क्रीन पर प्रवेश करने के बाद चीजें अक्सर धीमी होती हैं, जहां आप कुछ समय के लिए नहीं होते हैं, और यह इस प्रक्रिया के पूरे परिवार के कारण शेड्यूलर के बैक बर्नर पर रखा जाता है, इसलिए बोले। इन दिनों अधिकांश शेड्यूलर अनुकूली हैं, और उन उपयोगकर्ता प्रक्रियाओं की प्राथमिकता को कम करते हैं जो कुछ समय से निष्क्रिय हैं। शेड्यूलर के लिए उन्हें फिर से महत्वपूर्ण के रूप में देखने के लिए थोड़ी देर के लिए निरंतर उपयोग की आवश्यकता होती है, जैसे कि स्क्रीन में प्रवेश करने के बाद माउस को बहुत दूर ले जाना। यह एक दर्द है, लेकिन यह है कि गैर-वास्तविक समय ऑपरेटिंग सिस्टम में ओएस शेड्यूलर कैसे काम करते हैं।
वहाँ है कि tweak करने के तरीके हैं, लेकिन यह प्रत्येक OS के लिए बहुत विशिष्ट है (यहां तक कि अलग-अलग रिलीज), और नाजुक (पढ़ें: ओएस पैच पर आसानी से टूट जाता है)। कोड को देखे बिना, मुझे उम्मीद है कि निक एंड टीम वास्तव में केवल सिनर्जी को कर्नेल ड्राइवर स्तर तक धकेलकर इसे हल करेगी, जिससे यह अधिक नाजुक हो जाएगा, और एक महत्वपूर्ण मूल्य कूद होगा।