क्या समग्र सीपीयू खपत को सीमित करने का एक तरीका है?


23

मेरा लैपटॉप (एक i3 चिप के साथ एचपी) हर बार पागल की तरह ओवरहेट करता है, मैं एक संसाधन भारी प्रक्रिया चलाता हूं (जैसे एक बड़ा संकलन, बड़े टारबॉल को निकालना या ... फ्लैश खेलना)।

मैं वर्तमान में कुछ शीतलन समाधानों में देख रहा हूं लेकिन वैश्विक सीपीयू खपत को सीमित करने का विचार आया। मुझे लगा कि यदि सीपीयू को कैप किया जाता है, तो संभावना है कि तापमान लगातार बढ़ रहा है, और मैं काम पूरा करने के लिए थोड़ा सा प्रदर्शन करने के लिए तैयार हूं।

  1. क्या मैं अपने तर्क में गलत हूँ?
  2. मैं समग्र रूप से CPU उपयोग को कैसे आगे बढ़ा सकता हूं?

अगर यह मदद करता है, तो मैं डेबियन चला रहा हूं।


मैं तुम्हें, cgroups साथ ऐसा कर सकते यह यहां क्योंकि मुझे यकीन है कि नहीं कर रहा हूँ एक जवाब के बजाय एक सूचक के रूप में छोड़ रहा है विश्वास है, और मुझे यकीन है कि कैसे वास्तव में नहीं कर रहा हूँ ...
derobert

आप cgroups का उपयोग करने का प्रयास कर सकते हैं। यहाँ इसी तरह की समस्या के साथ क्वेसिटॉन
Grzegorz Wierzowiecki

जवाबों:


10

मैं नहीं जानता कि कि पूरी व्यवस्था के लिए CPU सीमित कुछ है कि हैकिंग का एक बहुत बिना संभव है है, लेकिन आप आसानी से किसी प्रक्रिया का उपयोग करके इस्तेमाल किया सीपीयू की मात्रा को सीमित कर सकते हैं cpulimit

जिस तरह से आप सोच सकते हैं कि आप इसे प्रभावी ढंग से उपयोग कर सकते हैं एक आवरण स्क्रिप्ट लिख रहे हैं (वास्तव में इसे स्क्रिप्ट नहीं कह सकते, यह बहुत छोटा है) उन अनुप्रयोगों के लिए जो आप जानते हैं कि संसाधन हॉग हैं। उदाहरण के लिए कहें, तो आपको लगता है कि google-chrome CPU का बहुत उपयोग करता है, आप अपने रास्ते में google-chrome बाइनरी को किसी चीज़ से बदल सकते हैं:

#! /bin/bash
cpulimit --limit 70 /usr/bin/google-chrome-bin

मैंने इसका परीक्षण नहीं किया है इसलिए इसे नमक के दाने के साथ लें। Cpulimit की वेबसाइट से, ऐसा लगता है कि आप विभिन्न अनुप्रयोगों पर cpu सीमाओं के लिए नियम निर्धारित करने में सक्षम हो सकते हैं। मुझे यकीन नहीं है, आपको एक नज़र रखना होगा।


10

एक अन्य विकल्प जिसका उल्लेख नहीं किया गया है cpufrequtils, जिसे मैंने डेबियन 6 के साथ अपने लैपटॉप पर स्थापित और उपयोग किया है। यह आपको एल्गोरिथ्म ( गवर्नर , cpufrequtilsशब्दावली में) को बदलने की अनुमति देता है , जिसके जवाब में कर्नेल क्लॉक रेट को ऊपर और नीचे स्केल करने के लिए उपयोग करता है। लोड करने के लिए - विशेष रूप से, userspaceराज्यपाल आपको अपने चयन में से कुछ पर आवृत्ति को लॉक करने की अनुमति देता है (बेशक सीपीयू को इस गति से चलने में सक्षम होने की आवश्यकता है)।

मैंने इसका उपयोग 1.6GHz के बजाय 800MHz पर एटम को लॉक करने के लिए किया है, उदाहरण के लिए। इसका उपयोग करना बहुत आसान है।


1
यह स्वीकृत उत्तर होना चाहिए। (या टेंप_थ्रॉटल)
वाजक हर्मेज़ 16

6

आप लिपि temp_throttle का उपयोग करके तापमान के आधार पर अपने CPU कोर को स्वचालित रूप से सीमित कर सकते हैं । जब आप अधिक महत्वपूर्ण चीजों पर ध्यान केंद्रित करते हैं तो यह पृष्ठभूमि में चल सकता है। चलाने के तरीके पर एक उदाहरण:

sudo ./temp_throttle.sh 80 # Will limit CPU cores when 80C is reached.

* अस्वीकरण- मैं लेखक हूं और temp_throttle * का अनुरक्षक हूं


3

बायोस में जाओ और सीपीयू को कम करो। - चतुराई की जरूरत नहीं।


ऐसे BIOS के बारे में जो अंडरक्लॉकिंग का समर्थन नहीं करते हैं?
डबॉस

1
cgroups का उपयोग करें, लेकिन tbh मैंने एक bios नहीं देखा है जो कि कभी भी आवृत्ति सेटिंग्स को बदल नहीं सकता है।
सेरेक्स

मेरा (वास्तव में बहुत बुरी तरह से बनाया गया) अलियनवेयर m14x r1 लैपटॉप में ऐसी सेटिंग नहीं है, बूट ऑर्डर और सिस्टम समय के अलावा बायोस में बदलने के लिए बहुत कुछ उपलब्ध नहीं है।
डबोरोस


1

गवर्नर को बदलने की कोई आवश्यकता नहीं है, आपको बस /sys/devices/system/cpu/*/cpufreq/scaling_max_freqप्रत्येक सीपीयू कोर के मूल्य को बदलने की आवश्यकता है ।

जैसे कि लूप के लिए:

for f in /sys/devices/system/cpu/*/cpufreq/scaling_max_freq; do
    sudo sh -c "echo $1 > $f" 
done

मेरी setcpu स्क्रिप्ट भी देखें ।

( मूल आदेश यहां मिले )


-2

आप reniceप्रक्रिया या समूह आईडी द्वारा प्रक्रिया की प्राथमिकता को बदलने के लिए उपयोग कर सकते हैं । के लिए उदाहरणों से renice:

  1. अच्छा मान समायोजित करें ताकि प्रक्रिया 987 और 32 में कम अच्छा मान हो:

    renice -n 5 -p 987 32

  2. अच्छा मान समायोजित करें ताकि समूह IDs 324 और 76 का मूल्य अधिक अच्छा हो, अगर उपयोगकर्ता के पास ऐसा करने के लिए उपयुक्त विशेषाधिकार हैं:

    renice -n -4 -g 324 76

  3. अच्छा मान समायोजित करें ताकि संख्यात्मक उपयोगकर्ता ID 8 और उपयोगकर्ता sas का कम अच्छा मूल्य हो: renice -n 4 -u 8 sas


4
केवल उत्तर के लिए एक अतिरिक्त नोट: सीपीयू, अच्छा या अन्य समान उपकरण सीपीयू के तापमान पर प्रभाव नहीं डालेंगे, समस्याग्रस्त प्रक्रिया सीपीयू चक्रों को खाती रहेगी।
रुफो एल मगूफो

2
अच्छा और त्याग सीपीयू की खपत को कम नहीं करेगा। वे बस प्राथमिकताएं तय करते हैं। यदि एक ही समय में कुछ और नहीं चल रहा है, तो प्रक्रिया अभी भी सभी प्रसंस्करण शक्ति का उपभोग करेगी।
रहमू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.