प्रोसेसर की क्लॉक स्पीड को कैसे धीमा करें


12

मैंने हाल ही में एक नया मैकबुक प्रो खरीदा है जो कभी-कभी बहुत तेज हो जाता है। मैं अक्सर मैथेमेटिका के लिए कार्यक्रम करता हूं, और मेरे पुराने 2007 मैकबुक प्रो पर मुझे आमतौर पर अक्षम कोड के लिए एक भावना मिली जब यह सुस्त रूप से चलता है (जब मैं तय करता हूं "जी, मैंने कुछ कचरा कोड लिखा है। शायद मुझे एक जोड़े को फाइन ट्यूनिंग खर्च करनी चाहिए।" ")। हालांकि, मेरे नए मैक पर, सब कुछ बस तेजी से चलता है।

क्या मैक पर एक स्विच है जो मुझे सीपीयू को धीमा करने की अनुमति देता है, कहते हैं, 1 गीगाहर्ट्ज?


चैट पर विस्तारित चर्चा को आगे बढ़ाते हैं
bmike


मुझे तुरंत यह कॉमिक याद आया: xkcd.com/1172
जस्टफुल'

जवाबों:


19

मुझे नहीं लगता कि बिजली, आवृत्ति और एक माइक्रो प्रोसेसर की घड़ी की गति के बीच सीधा संबंध होने के कारण, न्यूनतम घड़ी की गति बार में हेरफेर करना संभव है। जाहिर है कि घड़ी की एक सीमा होती है, इसलिए उदाहरण के लिए सिमुलेशन चलाने के लिए सिस्टम को रेंज के तहत तेजी से चलाने के लिए अधिक शक्ति लगती है, और फिर जब आप अनुकरण करना बंद कर देते हैं तो आप ड्रॉप को देखते हैं।

एक समाधान : आपने वैकल्पिक रूप से मैक ओएस पर प्रोग्राम चला रहे हैं, लेकिन एक वर्चुअलाइज़र (जैसे, वर्चुअल बॉक्स) पर विचार किया है? फिर आप दूसरे OS को चलाने के लिए कोर / रैम की संख्या को सीमित कर सकते हैं। उस स्थिति में, प्रोग्राम को बहुत धीमी गति से चलाने के लिए मजबूर किया जा सकता है; क्योंकि वर्चुअलाइज़र के पास बहुत कम संसाधन हैं। यह आपको बहुत अधिक लचीलापन देगा और विफलता के मामले में, आप वापस जा सकते हैं और वर्चुअलाइज़र सेटिंग्स बदल सकते हैं। अधिक दिलचस्प बात यह है कि, आप पैक की गई सेटिंग्स को वर्चुअलाइज़र पर दूसरी मशीन पर ला सकते हैं और वहाँ भी चला सकते हैं, वर्चुअलाइज़र के वहाँ होने से।


3
वर्चुअलबॉक्स एक एमुलेटर नहीं है। यह वर्चुअलाइज़र है। इसलिए इसे "वर्चुअलबॉक्स" कहा जाता है। यह CPU को वर्चुअलाइज करता है, यह इसका अनुकरण नहीं करता है। QEmu, उदाहरण के लिए, एक एमुलेटर है। (हालांकि यह वर्चुअलाइजेशन का उपयोग कर सकता है, और यदि संभव हो तो डिफ़ॉल्ट रूप से ऐसा करेगा।)
जॉर्ग डब्ल्यू मित्तग

1
@ JörgWMittag यह एक वर्चुअलाइज़र नहीं है। इसे टाइप -2 हाइपरवाइजर कहा जाता है।
मैक्स रिड

1
@DaveRose एक vm अनावश्यक है क्योंकि प्रोसेसर काउंट (आत्मीयता), मेमोरी, अधिकतम सीपीयू समय, और कई अन्य संसाधन लाइनिट्स को यूनिक्स उपयोगिताओं ulimit और sysctl का उपयोग करते हुए कमांड लाइन के माध्यम से एकल प्रक्रिया के लिए सेट किया जा सकता है - मुझे याद नहीं है कि क्या ये हैं उपयोगिताओं को डिफ़ॉल्ट रूप से स्थापित किया जाता है आपको XCode के माध्यम से कमांड लाइन डेवलपर उपकरण स्थापित करने की आवश्यकता हो सकती है। आप ulimit सेट करेंगे और शेल से Mathematica को निष्पादित करेंगे
crasic

25

यदि आपकी चिंता यह है कि आपका सॉफ़्टवेयर कितना कुशल है, तो मुझे एक और इंजीनियरिंग-उन्मुख समाधान सुझाएं जो आपको अपने मैकबुक को पूरी गति से चालू रखने देगा:

Mathematica में निर्मित प्रोफाइलर का प्रयोग करें । यह आपको अपनी गणनाओं के उन हिस्सों की पहचान करने में मदद करेगा जो बिना सीट-माप पैंट का सहारा लिए सबसे अधिक समय लेते हैं जो केवल धीमे हार्डवेयर पर काम करते हैं।


1
यह एक मैक पर कोड को धीमा कैसे करेगा और दूसरे पर नहीं? यह अच्छी जानकारी है, लेकिन इस धागे के लिए प्रासंगिक नहीं है।
bmike

@bmike यह अच्छी जानकारी है। मुझे गणितज्ञ प्रोफाइलर के बारे में नहीं पता था। हालाँकि यह सीधे मेरे प्रश्न का उत्तर नहीं देता है, यह इसे अनावश्यक (+1) बनाने में मदद कर सकता है। शायद एक टिप्पणी के रूप में सबसे अच्छा बचा होगा।
क्वांटमडॉट

6
@bmike यह कुछ भी धीमा नहीं करता है, यह उस मुद्दे को संबोधित करता है जो ओपी वास्तव में पाने की कोशिश कर रहा है अर्थात उसका गणितज्ञ कोड कुशल है या नहीं।
नेकोमैटिक

1

प्रोफाइलिंग, जैसा कि ब्लरफ्ल के जवाब में सुझाया गया है, यह पहचानने का अधिक उपयुक्त तरीका है कि आपका गणित कोड कुशल है या नहीं। हालाँकि यदि आप वास्तव में इसके निष्पादन को धीमा करना चाहते हैं, तो आप मैथेमेटिका प्रक्रिया की प्राथमिकता को बदलकर ऐसा करने में सक्षम हो सकते हैं । मैंने इसकी कोशिश नहीं की है लेकिन आपको इन लिंक के बीच उपयोगी जानकारी या सॉफ्टवेयर मिल सकता है:

क्या मैक ओएस एक्स में एक प्रक्रिया की प्राथमिकता निर्धारित करने का कोई तरीका है?

मैक ओएस एक्स (या आईओएस, आदि) पर एक प्रक्रिया को स्थायी रूप से "त्याग" करने के लिए कैसे?

नॉर्दर्न सॉफ्टवर्क्स द्वारा एपेरियॉरिटी (पूर्व में रेनसर)

उन चर्चाओं में से कुछ हालांकि पुरानी हैं, इसलिए आपको अपने मैक और ओएस एक्स संस्करण पर काम करने के लिए आगे प्रयोग करने या खोजने की आवश्यकता हो सकती है। यदि आप अपने मैक को एक ही समय में चलाने के लिए कुछ अन्य भारी प्रसंस्करण कार्य सेट करते हैं, तो तकनीक आपको अधिक प्रभावी ढंग से काम कर सकती है - एक बड़ी वीडियो फ़ाइल को परिवर्तित करना, कहना।


किसी प्रक्रिया की प्राथमिकता बदलना इस बात की गारंटी नहीं है कि यह धीरे-धीरे चलेगी। यह ऑपरेटिंग सिस्टम के लिए सिर्फ एक संकेत है कि अगर प्रोसेसर समय के लिए विवाद है, तो उच्च प्राथमिकताओं वाली प्रक्रियाओं को पहले जाना होगा। अपने रास्ते में कुछ भी पाने के बिना, कम प्राथमिकता वाली प्रक्रिया पूरी गति से चलेगी।
ब्लरफाल

1

दुर्भाग्यवश नहीं। आप Macintosh कंप्यूटर पर घड़ी की गति को बदल नहीं सकते। उनके पास उसी तरह से एक BIOS नहीं है जिस तरह से विंडोज मदरबोर्ड करते हैं, इसलिए उपयोगकर्ता द्वारा I / O सामान के साथ घड़ी की गति या बेला को बदलने का कोई तरीका नहीं है।

इसका कारण ज्यादातर मैक पर है, आपको इन चीजों को मैन्युअल रूप से बदलने की आवश्यकता नहीं है । हार्डवेयर पहले से ही निर्मित है और OS जानता है कि यह किस हार्डवेयर से जुड़ा होगा / संलग्न किया जा सकता है।


मैक ओएस एक्स प्रोसेसर घड़ी की गति को गतिशील रूप से बदल सकता है , उदाहरण के लिए जब बैटरी पर बनाम बैटरी जीवन में प्लग किया जाता है, तो प्रदर्शन को प्राथमिकता देने के लिए, इसलिए यह वास्तव में सही नहीं है - या कम से कम यदि यह सही है तो गलत कारण के लिए अर्थात ओएस नहीं है 'यह सेटिंग आसानी से सुलभ नहीं है।
nekomatic

अच्छी बात। मैंने यह स्पष्ट करने के लिए पोस्ट को संपादित किया
JamEngulfer

0

हां, लेकिन इसकी सलाह नहीं दी गई है। प्रोसेसर की लोड, तापमान और बिजली की उपलब्धता सहित कई कारकों के कारण OS और प्रोसेसर द्वारा घड़ी की गति को नियंत्रित किया जाता है।

यदि आप बैटरी को 10-20% तक कम करते हैं, तो किसी भी बाहरी बिजली स्रोत को डिस्कनेक्ट करें, और लैपटॉप को उसके अधिकतम ऑपरेटिंग तापमान, 95F (35C) तक गर्म करें , यह निश्चित रूप से एक कम बिजली की स्थिति में प्रवेश करेगा, जिसमें प्रोसेसर घड़ी को काफी कम करना शामिल है। एक छोटा हीटिंग पैड, जैसे कि पीठ दर्द के लिए इस्तेमाल किया जाता है, लैपटॉप के नीचे पर्याप्त हो सकता है, और सर्दियों के दौरान आपके लिए बहुत आरामदायक हो सकता है।

हालांकि, प्रदर्शन ट्यूनिंग के लिए सही टूल का उपयोग करना बेहतर होगा। हां, आप अपने पुराने वातावरण का अनुकरण कर सकते हैं और इस प्रकार अपनी स्वयं की आंतरिक घड़ी का उपयोग कर सकते हैं, हालाँकि आपके द्वारा उपयोग किए जा रहे सॉफ़्टवेयर में आपके कार्य के प्रदर्शन को समझने के लिए घड़ियां, टाइमर और अन्य उपकरण हैं। यह देखते हुए कि आप कई वर्षों में फिर से अपग्रेड कर सकते हैं, या आप अलग-अलग कंप्यूटरों और कंप्यूटिंग प्लेटफार्मों का उपयोग हस्तक्षेप के समय में कर सकते हैं, एमुलेटर जैसी बैसाखी का उपयोग करना एक अच्छा दीर्घकालिक समाधान नहीं है।

मैं आपको सुझाव देता हूं कि आप इसके बजाय बिल्ट इन टूल्स का इस्तेमाल करेंगे। नियमित उपयोग आपको बहुत अधिक अतिरिक्त प्रयास के बिना उनका उपयोग करने की अनुमति देगा, ताकि आप उन्हें मक्खी पर अपने सॉफ़्टवेयर में एकीकृत कर सकें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.