Ogranicz użycie procesora procesu w systemie Linux za pomocą narzędzia CPulimit

Ogranicz użycie procesora procesu w systemie Linux za pomocą narzędzia CPulimit

We wcześniejszym poście wyjaśniliśmy Cputool w celu ograniczenia i kontrolowania wykorzystania procesora dowolnego procesu w Linux. Pozwala administratorowi systemu przerwać wykonywanie procesu (lub grupy procesowej), jeśli obciążenie procesora/systemu wykracza poza określony próg. Tutaj dowiemy się, jak korzystać z podobnego narzędzia o nazwie cpulimit.

Cpulimit służy do ograniczenia użycia procesora w taki sam sposób Cputool, Oferuje jednak więcej opcji użytkowania w porównaniu z jej odpowiednikiem. Jedną ważną różnicą jest to, że CPUlimit nie zarządza obciążeniem systemowym w przeciwieństwie do cputool.

Sugerowane przeczytanie: 9 Przydatne polecenia, aby uzyskać informacje o procesorze w Linux

Zainstaluj CpuliMit, aby ograniczyć użycie procesora procesu w Linux

Cpulimit można zainstalować z domyślnych repozytoriów oprogramowania Debian/Ubuntu i jego pochodne za pomocą narzędzia do zarządzania pakietami.

$ sudo apt Zainstaluj cpulimit 

W RHEL/CENTOS I Fedora, musisz najpierw włączyć repozytorium EPEL, a następnie zainstalować CPUlimit, jak pokazano.

# mniam instaluj epel-uwalnianie
# mniam instaluj cpulimit

Ograniczanie użytkowania procesora za pomocą Cupimit

W tej podrzędnej sekcji wyjaśnimy, jak działa CPUlimit. Najpierw uruchommy polecenie (to samo polecenie dd Patrzyliśmy na pokrycie cputool), co powinno być w wysokim procencie procesora, w tle (pamiętaj, że proces PID jest drukowany po uruchomieniu polecenia).

$ dd if =/dev/zero o =/dev/null & [1] 17918 

Następnie możemy użyć narzędzi górnych lub spojrzeń, które wyświetlają rzeczywisty często aktualizowany stan działającego systemu Linux, aby obejrzeć użycie procesora powyżej.

$ top 
Monitoruj użycie procesora w Linux

Patrząc na powyższe dane wyjściowe, widzimy, że Dd Proces wykorzystuje najwyższy odsetek czasu procesora 100.0%.

Ale możemy ograniczyć to za pomocą CputLimit w następujący sposób. --pid Lub -P Opcja jest używana do określenia PID i --limit Lub -L służy do ustalenia procentu użytkowania dla procesu.

Polecenie poniżej ograniczy polecenie dd (PID 17918) Do 50% użycie jednego rdzenia procesora.

$ sudo cpulimit -PID 17918 -Limit 50 Proces 17918 Wykryty 

Po uruchomieniu Cpulimit możemy wyświetlić bieżące wykorzystanie procesora dla polecenie dd Z topem lub spojrzeniami. Ze wyjścia waha się od (51.5%-55.0% lub nieco poza).

Ogranicz zastosowanie procesora w Linux

Możemy dławić jego użycie procesora po raz drugi w następujący sposób, tym razem obniżając procent w następujący sposób:

$ sudo cpulimit -PID 17918 -Limit 20 Proces 17918 Wykryty 

Jak to zrobiliśmy wcześniej, możemy uruchomić top lub spojrzenia, aby zobaczyć nowe wykorzystanie procesora dla procesu, który będzie się wahał 20%-25.0% lub nieco poza tym.

$ top 
Zastosowanie procesora przepustnicy w Linux

Notatka: Powłoka staje się interaktywna - nie oczekuje żadnego wprowadzania użytkownika podczas pracy CPUlimit. Aby go zabić (co powinno powstrzymać operację ograniczenia użytkowania procesora), naciśnij [Ctrl + C].

Aby uruchomić cpulimit jako proces w tle, użyj --tło Lub -B przełącz, uwalniając terminal.

$ sudo cpulimit -PID 17918 - -limit 20 - -background 

Aby określić liczbę rdzeni procesora obecnych w systemie, użyj --procesor Lub -C flaga (jest to zwykle wykrywane automatycznie).

$ sudo cpulimit -Pid 17918 - -limit 20 - -CPU 4 

Zamiast ograniczyć użycie procesora, możemy go zabić za pomocą --zabić Lub -k opcja. Domyślnie jest sygnał wysłany do procesu Sigcont, Ale aby wysłać inny sygnał, użyj --sygnał Lub -S flaga.

$ sudo cpulimit -PID 17918 - -limit 20 -Kill 

Aby wyjść, jeśli nie ma odpowiedniego procesu docelowego lub w przypadku śmierci, uwzględnij -z Lub --leniwy lubię to.

$ sudo cpulimit -Pid 17918 - -limit 20 -Kill -Lazy 

Aby uzyskać dodatkowe informacje i opcje użytkowania, zobacz stronę CPUlimit Man.

$ man cpulimit 

Sprawdź następujące przydatne przewodniki do znalezienia informacji procesowych i monitorowania wydajności procesora/systemu.

  1. Znajdź najwyższe procesy uruchomione przez najwyższe zużycie pamięci i procesora w Linux
  2. CPUSTAT - monitoruje wykorzystanie procesora poprzez uruchamianie procesów w Linux
  3. CoreFreq - potężne narzędzie do monitorowania procesora dla systemów Linux
  4. Znajdź najwyższe procesy uruchomione przez najwyższe zużycie pamięci i procesora w Linux
  5. 20 Narzędzia wiersza poleceń do monitorowania wydajności Linux
  6. 13 Narzędzia do monitorowania wydajności Linux - część 2

Dla porównania, po przetestowaniu Cputool i Cpulimit, Zauważyliśmy, że ta pierwsza oferuje bardziej skuteczną i niezawodną funkcjonalność „ograniczenia użytkowania procesora”.

Jest to zgodne z procentowym zakresem użytkowania procesora zaobserwowanego po uruchomieniu obu narzędzi w stosunku do danego procesu. Wypróbuj oba narzędzia i dodaj swoje przemyślenia do tego artykułu za pomocą poniższego formularza sprzężenia zwrotnego.