তাপমাত্রার ক্ষেত্রে সিপিইউ ব্যবহার সীমিত করুন


8

আমি বিতরণ করা কম্পিউটিং প্রকল্পগুলি পরিচালনা করি, যা সাধারণত সিপিইউর 100% ব্যবহার করতে চায়। শতাংশ ব্যবহারের পরিবর্তে তাপমাত্রার ক্ষেত্রে আমি কীভাবে সিপিইউ ব্যবহার সীমাবদ্ধ করব? এছাড়াও, কোনও ইনটেল আই 5 24/7 চালিয়ে যাওয়ার সর্বোচ্চ নিরাপদ তাপমাত্রা কী? (কোনও সিপিইউ সীমা ছাড়াই FahCore_a4 এর ফলে এই মেশিনটি 82 ডিগ্রি সেলসিয়াসে চালিত হতে পারে))

উত্তর:


8

এই ওয়েবপৃষ্ঠায় একটি বাশ স্ক্রিপ্ট রয়েছে যা আপনার সিপিইউ নির্দিষ্ট তাপমাত্রার নীচে রাখার চেষ্টা করবে। http://seperohacker.blogspot.com/2012/10/linux-keep-your-cpu-cool-with-frequency.html

আপনার কেবল এটি আপনার পছন্দসই সর্বাধিক তাপমাত্রা সরবরাহ করা দরকার, এবং এটি তাপমাত্রার নীচে থেকে যাওয়ার জন্য আপনার সিপিইউ গুলি চালিয়ে দেবে।

নির্লজ্জ প্লাগ- আমি উপরের স্ক্রিপ্টটি লিখেছি এবং বজায় রেখেছি।


2
যদিও এটি তাত্ত্বিকভাবে প্রশ্নের উত্তর দিতে পারে , এখানে উত্তরের প্রয়োজনীয় অংশগুলি অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্ক সরবরাহ করা ভাল।
ফসফ্রিডম

1
চমৎকার স্ক্রিপ্ট .. ভাল ধারণা :)
সুপারবিজি

1
এখানে প্রয়োজনীয় অংশগুলি রয়েছে: github.com/Sepero/temp-throcolate
দিমিত্রিসান্ডালভ

3

এখানে আমি কীভাবে ব্যাশ ব্যবহার করে এটি সমাধান করেছি। যদি কেউ আরও ভাল ডিমন নিয়ে আসে (লক্ষ্যমাত্রার তাপমাত্রার কাছাকাছি থাকতে আরও ভাল) দয়া করে এটি পোস্ট করুন।

#!/bin/bash

while true; do
        val=$(sensors | awk '/Core 0/ {print $3}')
        max="+60.0"
        if [[ "$val" < "$max" ]]
        then
                killall cpulimit
                sleep .1
        else
                cpulimit -e FahCore_a4 -l 99 &
                sleep 1
        fi
        clear
        sensors
done

0

সিপিইউ এর নিজস্ব একটি ব্যবস্থা আছে যেখানে এটি খুব বেশি গরম হয়ে এলে নিজেকে নীচে নামিয়ে দেয়। (আপনি যদি এসএমআই বাধা নিষ্ক্রিয় করেন তবে না, আমি সে সম্পর্কে নিশ্চিত নই))

প্রধান ব্যবহারকারী-স্থান অ্যাপ্লিকেশন হ'ল lm-sensorsপ্যাকেজ। এটি ইনস্টল করার পরে এটি ইনস্টল করার পরে রান করুন sensors-detect, আপনার মেশিনগুলি সমান হলে আপনি এটি একবার চালাতে পারেন এবং ফলাফলগুলি সর্বত্র ব্যবহার করতে পারেন।

সিপিইউ ফ্রিকোয়েন্সি সহজেই সিপুফ্রেইক ড্রাইভার সাবসিস্টেমের মাধ্যমে নিয়ন্ত্রিত হয়। দেখতে https://wiki.archlinux.org/index.php/CPU_Frequency_Scaling

টেম্পলটি পোল করতে আপনি এলমন-সেন্সর ব্যবহার করে এমন ডিমন লিখতে পারেন এবং যদি খুব গরম হয় তবে সিপিইউ ফ্রিকোয়েন্সিটি ডাউন করে দেয়।


এই জাতীয় ডেমন কোন ভাষায় লেখা সহজতর হবে? বাশ, অজগর, অজানা?
jeffythedragonslayer

আমি বলব বাশ সহজতম। এখানে একটি উদাহরণ (55-66 রেখাগুলি দেখুন)।
অ্যাডোব

0

এইভাবে আমি আমার অত্যধিক গরমের সমস্যাগুলি সমাধান করেছি যা একটি নির্দিষ্ট প্রক্রিয়া দ্বারা সৃষ্ট নয়, তবে আমার ল্যাপটপের ব্যর্থতার ফলে দীর্ঘ সময়ের জন্য উচ্চ সিপিইউ লোডে চলার কারণে তাপটি বিলুপ্ত করতে ব্যর্থ হয়েছিল। নিজেই দা কোড বানরের দ্বারা প্রদত্ত সমাধানটির মূল পার্থক্য হ'ল আমি একটি নির্দিষ্ট প্রক্রিয়াতে সিপুলিমিট ব্যবহার না করে সিপিইউ ফ্রিকোয়েন্সি স্কেলিং ব্যবহার করি। যেহেতু আমি পেন্সর ইনস্টল করেছি এবং যাইহোক চলমান, তাই আমি পেনসোনারে পিগব্যাক করছি। দা কোড বানরের মতো ডেমোনের প্রস্তাব দেওয়াও কাজ করা উচিত, তবে দুটি থ্রেশহোল্ড (নূন্যতম এবং সর্বাধিক) প্রয়োজন are পেনসর (সেন্সর পছন্দসমূহ> অ্যালার্ম) আমি প্রান্তিক সংবেদকের জন্য একটি অ্যালার্ম সেট করে যদি উচ্চ প্রান্তিকের চেয়ে বেশি হয়ে যায় (আমি 85 ব্যবহার করি) বা নিম্ন প্রান্তিকের চেয়ে কম (আমি 80 ব্যবহার করি)। পছন্দগুলিতে-> সেন্সরগুলি-> স্ক্রিপ্ট কার্যকর করা হয় যখন একটি অ্যালার্ম বাজে তখন আমি আমার স্ক্রিপ্টটিকে হিটট্রন্টল বলি sh

/ALLUSER/heatcontrol.sh পাওয়ারস অনেমান্ড 82

প্রথম প্যারামিটারটি একটি বৈধ স্কেলিং_গোভারর যা সিপিইউ ফ্রিকোয়েন্সি হ্রাস করে, যেমন পাওয়ারসেভ। দ্বিতীয় প্যারামিটারটি হ'ল ডিফল্ট স্কেলিং_ভারভারর - বেশিরভাগ সিস্টেমে অনডম্যান্ড। তৃতীয় প্যারামিটারটি নিম্ন এবং উচ্চ প্রান্তিকের মধ্যে একটি তাপমাত্রা (সঠিক মানটি গুরুত্বপূর্ণ নয়)। পেন্সর আরও দুটি পরামিতি যুক্ত করে: একটি সেন্সর আইডি এবং তাপমাত্রার প্রতিবেদন করা হয়।

এবং এটি আমার হিটকন্ট্রোল.শ স্ক্রিপ্ট:

#!/bin/bash
 # TempNZ is temperature reported by Psensor; strip of trailing °C
TempNZ=$5 
bnum=`expr index "$TempNZ" "°"`
if (( bnum < 2 )); then
    echo "ERROR"
fi
TempNZ=${TempNZ:0:$(($bnum-1))}
STR=$1
# Is this a low threshold alarm?
if [ "$TempNZ" -le "$3" ]; then
    STR=$2
fi
sudo sh -c "echo '$STR' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
# echo new scaling_governor
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# play sound - audio feedback - optional
paplay /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg

আমার জন্য দুর্দান্ত কাজ করে (ইউবুন্টু 14.04 এলটিএস)।

লিনাক্স এবং ব্যাশের একজন নবজাতক হওয়ার কারণে আমি বেশ কয়েকটি সংস্থান ব্যবহার করেছি:

https://wiki.archlinux.org/index.php/CPU_frequency_scaling

http://elinux.org/Jetson/Performance#Viewing_the_current_CPU_status

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.