CPULimit, ogranicza użycie procesora przez proces

o CPULimit

W następnym artykule przyjrzymy się CPULimit. To jest narzędzie wiersza poleceń, które ogranicza użycie procesora przez proces (wyrażone w procentach, a nie w czasie procesora). Będzie to przydatne do kontrolowania zadań wsadowych, gdy nie chcemy, aby proces zużywał zbyt wiele cykli procesora.

Za pomocą tego narzędzia nie będziemy zmieniać wartości ani innych ustawień priorytetów, ale rzeczywiste wykorzystanie procesora. Ponadto jest w stanie dynamicznie i szybko dostosować się do ogólnego obciążenia systemu. Kontrola ilości wykorzystanego procesora odbywa się poprzez wysyłanie Señales NASTĘPNY PRZYSTANEK y SYGKONT POSIX do procesów. Wszystkie procesy potomne i wątki określonego procesu będą miały ten sam procent użycia procesora.

Zainstaluj CPULimit

CPULimit jest dostępne w większości domyślnych repozytoriów dystrybucji uniksopodobnych. Możemy go zainstalować przy użyciu domyślnych menedżerów pakietów w odpowiedniej dystrybucji Gnu / Linux. W podanym przykładzie zobaczymy, jak zainstalować go na Debianie, Ubuntu i Linux Mint. Będziemy musieli tylko otworzyć terminal (Ctrl + Alt + T) i wpisać w nim następujące polecenie:

sudo apt-get install cpulimit

Kto chce, może zapoznać się z innymi typami obiektów w Strona projektu w serwisie GitHub.

Korzystanie z CPULimit

Po zainstalowaniu narzędzia czas sprawdzić, jak to działa. Aby to zrobić, uruchomimy program, który zużywa dużo zasobów procesora. Następujące polecenia muszą być uruchamiane jako użytkownik root.

Tworzenie skryptu, który zużywa zasoby procesora

Najpierw mamy zamiar utwórz plik o nazwie derrochecpu.sh. Mam zamiar użyć Edytor Vima, ale każdy używa tego, który preferuje. Z terminala (Ctrl + Alt + T) będziemy musieli napisać:

vim derrochecpu.sh

Po otwarciu naciśniemy klawisz 'Esc' i wtedy 'i”. Teraz dodamy następujące wiersze:

vim script splurgecpu

#!/bin/bash
while :; do :; done;

Po wykonaniu tej czynności nadszedł czas, aby zapisać i wyjść. Aby to zrobić, naciśniemy klawisz 'Esc'i napiszemy : wq aby zapisać i zamknąć plik. Ten krótki skrypt będzie się powtarzał bez przerwy, zużywając maksymalne wykorzystanie procesora. Dlatego wskazane jest przetestowanie go na maszynie wirtualnej.

Teraz zrobimy ten plik wykonywalny. Aby to zrobić, z tego samego terminala (Ctrl + Alt + T) wykonamy:

chmod +x derrochecpu.sh

Uruchomienie skryptu

Teraz uruchomimy proces w tle. Zrobimy to za pomocą polecenia:

./derrochecpu.sh &

Skrypt PID splurgeCPU

Zamierzamy zachować PID procesu. W tym przypadku 6472 to PID uruchomionego procesu.

Sprawdzanie, ile zużywa procesora

Możemy zobaczyć, ile procesora zużywa proces, który właśnie uruchomiliśmy, używając polecenie «do góry» w tym samym terminalu:

top skrypt splurgeCPU

top

Jak widać na powyższym zrzucie ekranu, proces wastecpu.sh zużywa ponad 96% wykorzystania procesora. Ponieważ zużywa dużo procesora, trudno jest wykonywać inne zadania. Po kilku minutach, system może się zawiesić lub zawiesić. Tutaj z pomocą przychodzi nam CPULimt.

Ograniczanie użycia procesora przez PID

Teraz ograniczmy użycie procesora przez ten proces za pomocą narzędzia CPULimit. Idziemy do ogranicz użycie procesora do 35% za pomocą odpowiedniego PID (w przybliżeniu). Aby to zrobić, uruchom:

cpulimit -l 35 -p 6472 &
  • Opcja "-35»Ogranicza proces do około 35%.
  • «-p 6472»Jest PID derrochecpu.sh, który widzieliśmy wcześniej.

Sprawdzanie efektu CPULimit

Po uruchomieniu poprzedniego polecenia sprawdźmy ponownie użycie procesora przez proces. W tym celu ponownie użyjemy górnej komendy:

top skrypt CPULimit trwonić

top

Jak widać na powyższym obrazku, użycie procesora przez wastefulcpu.sh spadło do 35,6%, czyli bardzo blisko 35%. Teraz tak możemy mieć więcej zasobów procesora do uruchamiania innych procesów.

Ograniczanie użycia procesora według nazwy pliku

Widzieliśmy, jak ograniczyć proces za pomocą PID. Także możemy wykonać polecenie CPULimit, podając nazwę wykonywalnego pliku programu.

Na przykład ten sam przykład powyżej wyglądałby tak:

cpulimit -l 30 ./derrochecpu.sh &

CPULimit może być przydatny podczas uruchamiania procesu, który zużywa zbyt dużo procesora. Następnym razem, gdy zauważymy, że program zużywa zbyt dużo procesora, będziemy musieli po prostu znaleźć PID procesu za pomocą polecenia «Top«. Kiedy już to zrobisz, wystarczy ograniczyć użycie procesora do minimalnej wartości za pomocą polecenia CPULimit, jak opisano w tym artykule.

Odinstaluj CPULimit

Usunięcie tego narzędzia z naszego systemu jest tak proste, jak otwarcie terminala (Ctrl + Alt + T) i wpisanie go:

sudo apt remove cpulimit

Co opisano w tym artykule to tylko przykład. Oczywiście nikt przy zdrowych zmysłach nie uruchomi na własnym komputerze takiego skryptu jak ten opisany tutaj.


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.   javp powiedział

    Witam:
    Jest to idealne rozwiązanie dla starego komputera PC z amd64 x2, który wydaje się mieć problem z chłodzeniem, a gdy proces zużywa dużo procesora przez kilka minut, nagrzewa się do 100º C i wyłącza.
    Tak więc, kiedy widzę, że jakiś proces (zazwyczaj niektóre strony internetowe lub programy do renderowania wideo) powoduje, że podnoszę temperaturę procesora, użyję cpulimit, aby usunąć „moc” z tego procesu.
    dzięki