Ogranicz maksymalną prędkość procesora

cpu

Długo zastanawiałem się dlaczego mój komputer się przegrzewa w linuksie, chociaż w windowsie też mi się to zdarzało ale nie tak często, potem zastanawiałem się co by się stało i zdałem sobie sprawę, że dzieje się to tylko wtedy, gdy któryś z 2 procesorów jest na 100% częstotliwości przez długi czas, powodując jego przegrzanie i ostatecznie wyłączenie.

To sprawiło, że prawie niemożliwe było zainstalowanie jakiejkolwiek dystrybucji Linuksa, ponieważ z Live CD sprawili, że procesor osiągnął maksimum i musiałem umieścić wentylator we wlocie wentylacyjnym laptopa, zrobiłem to kilka razy z powodu mojego nawyku instalowania której dystrybucji Podobało mi się, że umieściłem go z przodu tylko do momentu wejścia w sekcję, ale tylko gnome 2 mógł ograniczyć częstotliwość procesora (w trybie przestrzeni użytkownika) za pomocą dołączonego apletu, ale cały czas pozostawał na częstotliwości, którą go założyłem i to nie był na żądanie i sprawiał, że zawsze był z częstotliwością, na którą mu pozwalałem, a nie z tą, której potrzebował procesor.

To było wtedy, gdy szukałem sposobu na ograniczenie maksymalnej częstotliwości, z jaką może pracować procesor, aby procesor mógł być obsługiwany na żądanie bez osiągania 100% procesora, aby się nie przegrzewał.

Najpierw musimy wiedzieć, ile procesorów mamy w terminalu:

ls /sys/devices/system/cpu/ | grep procesor [0-9]

W moim przypadku wyjście było

procesor0 procesor1

Oznacza to, że mam 2 procesory

Następnie dla każdego posiadanego procesora

więcej /sys/devices/system/cpu/cpu[0-9]/cpufreq/scaling_available_frequencies

W moim przypadku wyjścia były

:::::::::::::: /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies :::::::::::::: 2100000 1050000 525000 --Więcej-- (Następujący plik: /sys/devices/system/cpu/cpu1/cpufreq/scaling_availabl::::::::::::::: /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies :::: :::::::::: 2100000 1050000 525000

W przypadku obu procesorów, jak powiedziałem, jeśli mam procesory o częstotliwości 2100000 herców, po chwili się przegrzewają, więc chcę ograniczyć maksymalną częstotliwość, ponieważ pliki w katalogu /sys/devices/system/cpu/cpux/cpufreq/ są od administratora jest niezbędne do wprowadzenia zmian, które chcemy jako administrator

Maksymalna prędkość jest edytowana w pliku

/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq

A ponieważ chcę to zmieniać przy każdym uruchomieniu, powinienem umieścić to w /etc/rc.local, więc edytuję ten plik jako administrator
Gnom

gksu gedit /etc/rc.local

KDE

kdesu kate /etc/rc.local

Terminal (zmień nano na swój ulubiony edytor lub użyj su przed wpisaniem polecenia)

sudo nano /etc/rc.local

dodać między wierszami

 #!/bin/sh -e echo 1050000 > '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq' echo 1050000 > '/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq' wyjście 0

I tak maksymalna prędkość procesora wyniesie 1050000.

Mam nadzieję, że komuś się przyda.


31 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   merlin the debianite powiedział

    Co za dobra wskazówka, w rzeczywistości mam komputer stacjonarny z Solusem, który nie mógł zrobić niczego, co się wyłączyło. Spróbuję, dzięki za artykuł.

  2.   Ivan Barra powiedział

    Hej, czy kiedykolwiek sprawdzałeś lub aktualizowałeś BIOS komputera? Czy to model HP? Pytam, ponieważ najprawdopodobniej jest to problem z BIOSem i konfiguracją Intel SpeedStep lub AMD cool & Quiet, rozwiązałem problem przegrzewania się wiele razy aktualizując BIOS (jestem konstruktorem systemów) , druga to zmiana pasty termoprzewodzącej, która wychodzi z fabryki (są generalnie bardzo kiepskie), na taką ze związkami srebra, kosztują 10 USD i generalnie są dużo lepsze od tych, których używają przy montażu. Po drugie, sprawdź brud lub kurz, kłaczki w swoim sprzęcie iw końcu możesz kupić podstawę (czyli jest z aluminium, plastikowe mają odwrotny efekt niż zostały nabyte), a tym samym przewietrzyć część dolnej części zespołu.

    Mam nadzieję, że to ci pomoże,

    Pozdrowienia.

    1.    Krzysztof Castro powiedział

      To jest Toshiba Satellite A305D-SP6905R. http://pcxion.com/shop/printinfo.php?products_id=1080

      Od nowosci mam problem jak mam pieniadze zabieram go do serwisu i musialem aktualizowac bios bo nie moglem wtedy zainstalowac windowsa 7 wiec musialem aktualizowac na sile i chyba byla to ostatnia aktualizacja biosu jaka byla trzeba było zainstalować.

      1.    Ivan Barra powiedział

        Jakie to dziwne, że ci się to przytrafia, miałem 2 Toshiby i nigdy nie miałem problemów z temperaturą. Nie tak z HP, miałem 13.3-calowego typu tablet HP Compaq i okazało się to okropnie złe. I naprawiałem dziesiątki HP z tym samym problemem, ale był to przede wszystkim problem projektowy, a te z grafiką Nvidii, typowy problem z lutowaniem, więc musiałem zastosować reballing.

        Pozdrowienia.

  3.   Germaine powiedział

    Dzięki za informację, w tej chwili mój laptop Samsung RV408 z 6GB RAM i LM14 KDE RC x64 działa bez problemów, jednak zapobiegawczo i od jakiegoś czasu używam zarówno do tego podstawy z 3 wentylatorami zmotoryzowanymi, jak i netbooka Acer AOD255E z 2 GB RAM i LM14 KDE RC x32 i trzymają je bardzo chłodno, tylko netbook zauważa, że ​​​​robi się trochę gorąco, gdy mam wiele otwartych programów i okien, poza tym nigdy się nie wyłączały ani nie dawały alarmów o przegrzaniu.
    Dobrze byłoby wiedzieć, które marki i modele powodują te problemy i jak zostały rozwiązane, aby mieć referencje.

  4.   Alf powiedział

    Mój czasami się nagrzewa, częstotliwość moich 2 procesorów

    alf@Alf:~$ więcej /sys/devices/system/cpu/cpu[0-9]/cpufreq/scaling_available_frequencies
    ::::::::::::::
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
    ::::::::::::::
    1900000 1800000 1600000 1400000 1200000 1000000 800000
    ::::::::::::::
    /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies
    ::::::::::::::
    1900000 1800000 1600000 1400000 1200000 1000000 800000
    alf @ Alf: ~ $

    Jaką częstotliwość proponujesz zostawić jako maksymalną?

    1.    Christopher powiedział

      1600000

      Naprawdę nie wiem zbyt dobrze, ale jeśli 1.9 Ghz to maksimum, 1.6 to dobra częstotliwość.

  5.   Heksborg powiedział

    Dobry facet. Nigdy nie miałem problemów z ogrzewaniem, ale będę o tym pamiętał na wszelki wypadek.

  6.   bunt powiedział

    W praktyce powinno to znacznie zmniejszyć szybkość otwierania aplikacji i inne zdarzenia, w których procesor ma szczytowe obciążenie (zwłaszcza na komputerach jednordzeniowych).
    Mam rację?

    1.    Ivan Barra powiedział

      Zgadza się, ale to zależy, jeśli używasz komputera tylko do oglądania internetu, muzyki i filmów, nie zauważysz różnicy, teraz, jeśli jesteś kompulsywnym kompilatorem kodu, zauważysz różnicę.

      Pozdrowienia.

  7.   ja powiedział

    Ja też mam ten problem na starym Acer Aspire 5315, który chcę naprawić raz na zawsze; ale ścieżka mojego drzewa katalogów różni się od wskazanej, do cpu0 pasuje, ale stamtąd nie znajduję folderu cpufreq, ale te inne pliki pamięci podręcznej, cpuidle, zasilania, podsystemu, przepustnicy termicznej, topologii i awarii -notuje pliki i uevent, aw żadnym z folderów nie widzę scaling_max_freq.

    1.    mąż powiedział

      Skalowanie częstotliwości procesora jest dostępne tylko dla mikroprocesorów późniejszych niż core2duo, a nie dla pentium D, 4, celeron lub monocore. To dlatego, że nawet Prescottowie pracowali na maksa, marnując energię i ciepło, ja miałem taki, który zawsze miał 40 lub więcej, czyli o ile zimą nie marzłem w stopy 😛 Pozdrawiam

      1.    Germaine powiedział

        Hehehe 🙂 nie wyobrażasz sobie pomysłu, który mi podsunąłeś…!!!

  8.   jeden powiedział

    Dla Gnome lub Unity istnieje wskaźnik-cpufreq , który pozwala zmienić ustawienia szybkości procesora i zasilania z górnego panelu.

  9.   Ergean powiedział

    Witaj @Christopher Castro, gratulacje za artykuł, zwięzły i przydatny, tylko mała poprawka, nie nazywaj procesora rdzeniami CPU/UCP (procesor), ponieważ ludzie mogą się pomylić.

    Zaskakuje mnie to, że mając dwa rdzenie procesora, masz problemy z ogrzewaniem, być może powinieneś go rozebrać i wyczyścić, a jeśli nie jest to spowodowane brudem lub kurzem, powinieneś zanieść go do serwisu technicznego.

    Pozdrowienia dla wszystkich.

  10.   msx powiedział

    Naprawdę nie ma sensu ograniczać szybkości procesora, jeśli sterownik ONDEMAND jest włączony *chyba że wiesz z góry, że zadania, które zamierzasz wykonać, nie będą obciążać procesora, jak przeglądanie stron internetowych*.

    Trzeba wziąć pod uwagę, że im mniej skalujemy procesor, tym więcej czasu będzie potrzebował na renderowanie stron i tym więcej energii zużyją, z drugiej strony zarządca ONDEMAND automatycznie ustawia częstotliwości na najniższy poziom, gdy maszyna jest nieaktywna.
    Ideałem jest użycie ONDEMAND i prawidłowe ustawienie linijki tak, aby aktywowała się i dezaktywowała tak szybko, jak to możliwe, w zależności od obciążenia systemu, na przykład:

    w /sys/devices/system/cpu/cpu[0-3]/cpufreq/scaling_governor – – – – na żądanie
    w /sys/devices/system/cpu/cpufreq/ondemand/up_threshold – – – – 85
    w /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor – – – – 20
    (nazewnictwo w formacie systemd)

    Równie ważne jak linijki jest wyłączenie dedykowanej karty graficznej, jeśli jej nie używamy (w przypadku, gdy nasza maszyna ma hybrydowy system wideo) oraz pozostałych urządzeń, z których korzysta system, a przede wszystkim korzystamy z POWERTOP 2, aby przełączyć w tryb niskiego poboru mocy te urządzenia, które są ustawione do pracy z maksymalną wydajnością.

    j:0 ~ $ cat /etc/tmpfiles.d/optimized.conf
    w /sys/kernel/debug/vgaswitcheroo/switch – – – – WYŁ

    #w /sys/class/drm/card0/device/power_profile – – – – niski
    w /sys/class/drm/card0/device/power_method – – – – dynpm

    w /sys/devices/system/cpu/cpu[0-3]/cpufreq/scaling_governor – – – – na żądanie
    w /sys/devices/system/cpu/cpufreq/ondemand/up_threshold – – – – 85
    w /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor – – – – 20

    #w /sys/module/snd_hda_intel/parameters/power_save – – – – 1

    w /sys/kernel/mm/transparent_hugepage/enabled – – – – madvise
    w /sys/kernel/mm/transparent_hugepage/defrag – – – – madvise
    w /sys/kernel/mm/transparent_hugepage/khugepaged/defrag – – – – 0

    w /proc/sys/kernel/watchdog – – – – 0
    w /sys/class/scsi_host/host[0-5]/link_power_management_policy – ​​​​– – – min_power
    w /sys/bus/pci/devices/*/power/control – – – – auto

    w /proc/sys/vm/dirty_writeback_centisecs – – – – 1500

    j:0 ~ $ kot /etc/rc.local
    #! / bin / bash
    #
    # /etc/rc.local: Lokalny skrypt startowy dla wielu użytkowników.
    #

    sonda radeona
    echo OFF> / sys / kernel / debug / vgaswitcheroo / switch
    rmmod radeon
    (należy uważać na rmmod, ponieważ jeśli chcemy aktywować wyspecjalizowaną kartę graficzną i spróbować ponownie załadować moduł, gdy jest on wyłączony, system wyświetli piękną panikę jądra).

    1.    mariokanały powiedział

      Gdybyś coś zrozumiał, spróbowałbym.Jestem w tym nowy i muszę zobaczyć wszystko krok po kroku, z gruszkami i jabłkami.Twoja odpowiedź była interesująca.

  11.   Carlosa Carmony powiedział

    Fajny gość, spróbuję, bo mam trochę problemów ze sprzętem. Dziękuję

  12.   smoking powiedział

    Cześć, czy możesz mi powiedzieć, jaka jest normalna temperatura dla dwurdzeniowego procesora 2 GHz, dziękuję i pozdrawiam

  13.   jony127 powiedział

    dobra,

    Jest to bardzo ważny temat, do którego, po pewnym czasie używania Linuksa, zacząłem badać, jak obniżyć temperaturę procesora, a także jego zużycie energii.

    Ten temat zajął mi kilka godzin badań i testów, a opowiem wam o prostym sposobie skonfigurowania naszego procesora w Debianie do pracy na żądanie, to znaczy, że procesor automatycznie dostosowuje swoją częstotliwość zgodnie z obciążeniem, jakie otrzymuje procesor, zwiększając go, gdy jest to konieczne, aby nie stracić wydajności i pracować z najniższą częstotliwością, gdy jest to konieczne, zmniejszając w ten sposób zużycie energii przez nasz procesor, aw konsekwencji temperaturę. Chociaż zrobiłem to na Debianie, powinno działać z każdą dystrybucją.

    Zainstaluj pakiety cpufreqd i cpufrequtils. (Myślę, że po tym konieczne było ponowne uruchomienie).

    Wybierz i załaduj moduł dla procesora, dla nowoczesnych procesorów intel robimy to modprobe acpi-cpufreq (uwaga w debianie ładuje się sam, możemy to sprawdzić lsmod, przypuszczam, że z resztą będzie tak samo).

    Sprawdź działanie.

    Najpierw sprawdzimy, czy nasz sterownik dla procesora został załadowany, w tym celu wystarczy zrobić kota do właściwego pliku:

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver

    Dane wyjściowe, które powinieneś zobaczyć, to coś w rodzaju…
    acpi-cpufreq

    Teraz, jeśli poprzedni test zakończył się sukcesem, możemy ponownie sprawdzić, które częstotliwości są dostępne dla naszego procesora za pomocą polecenia cat:

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

    Dane wyjściowe, które powinieneś zobaczyć, to coś w rodzaju…
    1600000 800000

    Możemy również pokazać dostępnych zarządców:

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

    Dane wyjściowe, które powinieneś zobaczyć, to coś w rodzaju…
    oszczędzanie energii w przestrzeni użytkownika zachowawcza wydajność na żądanie

    A jaki jest aktualnie używany namiestnik:
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

    Rezultatem jest coś takiego:
    Wydajność

    Uwaga: debian domyślnie ładuje ondemand.

    To ostatnie polecenie mówi nam o aktualnie uruchomionym gubernatorze, najbardziej zalecanym jest ondemand, czyli ten, który dostosowuje prędkość procesora do zapotrzebowania.

    Kolejne bardziej bezpośrednie narzędzie do poznania informacji o naszym procesorze:
    cpufreq-info (wykonujemy to polecenie, aby zobaczyć informacje o naszym procesorze):

    pufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
    Zgłaszaj błędy i błędy do linux@brodo.de, Proszę.
    analizowanie procesora 0:
    sterownik: acpi-cpufreq
    Procesory, które muszą przełączać częstotliwość w tym samym czasie: 0
    ograniczenia sprzętowe: 800 MHz – 1.73 GHz
    dostępne stopnie częstotliwości: 1.73 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
    dostępne zarządcy cpufreq: konserwatywne, na żądanie, oszczędzanie energii, przestrzeń użytkownika, wydajność
    aktualna polityka: częstotliwość powinna mieścić się w przedziale 800 MHz i 1.73 GHz.
    Gubernator „ondemand” może zdecydować, której prędkości użyć
    w tym zakresie.
    aktualna częstotliwość procesora to 800 MHz.

    Istotne są linie limitów sprzętowych: 800 MHz – 1.73 GHz oraz dostępne stopnie częstotliwości: 1.73 GHz, 1.33 GHz, 1.07 GHz, 800 MHz, które wyznaczają możliwości procesora, którym dysponujemy.

    Jak widać, wskazują one również gubernatora, którego używamy oraz częstotliwość, z jaką obecnie pracuje nasz procesor.

    Aby zmienić zarządcę dla wszystkich procesorów (wymagane w przypadku dwu- i czterordzeniowych):

    cpufreq-set -r -g onżądanie

    Poniższe polecenie pokazuje również szybkość procesora, jeśli zapis działa dobrze, powinien dawać wartości mniejsze niż max procesora:
    $cat /proc/informacje o procesorze | grep -i mhz
    o
    $ oglądaj grep \”cpu MHz\” /proc/cpuinfo

    Pozdrowienia, dzięki temu możesz sprawić, że Twój procesor będzie działał wydajniej bez marnowania zasobów.

    1.    Krzysztof Castro powiedział

      Nigdy nie zmieniaj mojego regulatora procesora, po prostu ogranicz maksymalną prędkość.

      Nadal używam ondemand :D.

  14.   Ernest powiedział

    Wielkie dzięki kolego właśnie o to mi chodziło.
    U mnie działało świetnie na moim Athlonie II x2 250 przy 3GHz.
    Ilekroć otwieram wideo 1080p na Linuksie, mój procesor zużywa 100%, teraz używa
    średnio od 40 do 50%.

    Bałem się, że częstotliwość zostanie ustalona na 1.8 GHz (co było gdzie
    Dostosowałem to), ale „OnDemand” jest nadal aktywny, gdy komputer jest bezczynny
    CPU spada do 800 MHz. Fantastycznie! 🙂

  15.   elbkey powiedział

    Wypróbowałem to na podstawowym systemie operacyjnym i Ubuntu i zadziałało, ale wypróbowałem to na Fedorze 17 i to nie zadziałało, nie pozwala mi zapisać zmian przy zmianie ilości max_freq. Czy ktoś zna sposób, aby to osiągnąć? Swoją drogą bardzo dobry artykuł

    1.    Krzysztof Castro powiedział

      W rzeczywistości w Fedorze 17 plik rc.local nie istnieje i musi zostać utworzony w folderze /etc/rc.d/ pozostawiając ścieżkę /etc/rc.d/rc.local

  16.   Juana Jho powiedział

    z arctic silver 5 zrobiłem test i temperatura procesora poniżej 10°!!!!

    1.    Blaire pascal powiedział

      O, brzmi interesująco. Muszę kupić strzykawkę z tym, naprawdę przykuwa moją uwagę.

  17.   crilawar powiedział

    Dzięki za informacje, jak mogę zarządzać szybkością mojego procesora, kiedy tylko chcę, bez konieczności korzystania z terminala, nie działa mi robienie tego przy każdym ponownym uruchomieniu, tylko wtedy, gdy zostawiam maszynę w celu wykonania pracy, która nie działa t weź więcej niż jedno 10%, jakiś skrypt, aby go obniżyć i przywrócić do normy

    dzięki

  18.   Juana Carlosa Acig powiedział

    Bardzo dziękuję za radę, bardzo mi pomogła ograniczyć częstotliwość moich procesorów 4 i3-2330m; ponieważ martwiłem się o szkody, jakie może spowodować praca na pełnych obrotach procesu.

  19.   Wyspy Franciszka powiedział

    Dziękuję bardzo za ten cenny wkład, pomogłeś mi zainstalować Linuksa na moim Macbooku Pro. Naprawdę bardzo dziękuję

  20.   Carlos Diaz powiedział

    Świetne rozwiązanie…. wydłużenie okresu użytkowania sprzętu starej technologii, którego wydajność jest już obciążona wymaganiami obecnego oprogramowania. Dziękuję bardzo za wkład!!

  21.   Luciano Pontiego powiedział

    Witajcie przyjaciele, dziękuję za wasz wkład, mam nadzieję, że to zadziała dla mnie w moim OpenSuse Tumbleweed ♣

    pozdrowienia