Jak wykonać stress test procesora w Linuksie
On 25 stycznia, 2022 by adminIstnieje wiele powodów, dla których możesz chcieć wykonać stress test procesora w swoim systemie Linux. Możesz chcieć zobaczyć, jak system operacyjny i sprzęt radzą sobie przy pełnym obciążeniu CPU, aby wykryć błędy w oprogramowaniu lub awarie sprzętu. Alternatywnie, możesz chcieć szybko wygenerować dużo ciepła, aby rozwiązać problem związany z temperaturą maszyny; maksymalizacja wykorzystania CPU pozwoli to osiągnąć. Niezależnie od powodu, istnieje szybki i łatwy sposób na osiągnięcie tego celu.
W tym poradniku dowiesz się:
- Jak przeprowadzić testy warunków skrajnych na procesorze za pomocą polecenia yes stress test
- Jak przeprowadzić testy warunków skrajnych na procesorze za pomocą polecenia stress
- Jak przeprowadzić testy warunków skrajnych na procesorze za pomocą polecenia s-…tui command
Wymagania dotyczące oprogramowania i używane konwencje
Kategoria | Wymagania, Konwencje lub używane wersje oprogramowania |
---|---|
System | Niezależny od dystrybucji |
Oprogramowanie | yes, getconf, seq, bash, stress, s-tui |
Inne | Brak uprawnień roota wymagany do testu tak. Uprzywilejowany dostęp do systemu Linux jako root lub za pomocą polecenia sudo może być wymagany do zainstalowania innych pakietów testu warunków skrajnych. |
Konwencje | # – wymaga, aby dane polecenia linuksowe były wykonywane z uprawnieniami roota albo bezpośrednio jako użytkownik root, albo za pomocą polecenia sudo $ – – wymaga, aby dane polecenia linuksowe były wykonywane z uprawnieniami roota. wymaga, aby dane polecenia linuksowe były wykonywane jako zwykły nieuprzywilejowany użytkownik |
Scenariusz użycia
Test warunków skrajnych yes opisany w tym artykule może być bardzo przydatny do rozwiązywania problemów. Często przerywane problemy nie są powtarzalne, dopóki system nie zostanie poddany dużemu obciążeniu, czasem przez dłuższy czas. Możesz znaleźć się w sytuacji, gdy twoja maszyna lub maszyna, którą opiekujesz się dla użytkownika, doświadcza nieoczekiwanych wyłączeń, panik jądra lub innych przerywanych problemów. W takiej sytuacji możesz chcieć spróbować odtworzyć problem. W takim przypadku możesz wykonać poniższe polecenie, aby przetestować procesor w warunkach skrajnych, co zwiększy prawdopodobieństwo wystąpienia problemu i sprawi, że będziesz w stanie go zaobserwować.
Po podjęciu kroków w celu naprawienia sytuacji, takich jak odinstalowanie oprogramowania, ponowne zainstalowanie oprogramowania, w tym systemu operacyjnego lub wymiana komponentów sprzętowych, możesz ponownie uruchomić polecenie, aby określić, czy rozwiązało ono problem.
Tak Test warunków skrajnych
Ten one-liner utworzy proces yes
uruchamiany na każdym rdzeniu procesora maszyny. yes
drukuje wielokrotnie literę y
, dopóki nie zostanie zabity. W bezczynnym systemie każdy proces yes będzie wykorzystywał 100% rdzenia procesora. Jeśli procesor obsługuje hyper-threading i jest on włączony, to utworzy dwa razy więcej procesów, ponieważ jest to konieczne, aby w pełni zmaksymalizować wykorzystanie procesora.
Zaletą tego podejścia jest to, że wymaga ono tylko standardowych narzędzi, które są dostępne w systemach GNU/Linux, więc nie ma potrzeby instalowania dodatkowych programów lub bibliotek. Dodatkowo, nie wymaga uprawnień roota do uruchomienia. Aby rozpocząć, wprowadź następujące polecenie do terminala.
$ for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
Instytut Geofizyczny UAF, poszukuje doświadczonego Analityka Systemów Linuksowych, który dołączy do zespołu analityków i inżynierów zajmujących się cyber infrastrukturą badawczą. LOKALIZACJA: Fairbanks, Alaska, USA
APPLY NOW
Zbadajmy dokładnie, co robi ten one-liner. getconf _NPROCESSORS_ONLN
uzyskuje liczbę rdzeni procesora; w tym wirtualnych dla procesorów z hyper-threading. Uruchomienie polecenia wewnątrz $()
umieszcza jego wyjście jako argument polecenia seq
. seq $(getconf _NPROCESSORS_ONLN)
wypisuje sekwencję liczb od 1 do liczby wirtualnych rdzeni procesora obecnych w systemie. Uruchomienie tego wewnątrz $()
pozwala na użycie tego ciągu liczb w naszej pętli bash for.
Na koniec, sama pętla for, for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
pobiera ciąg liczb od 1 do liczby wirtualnych rdzeni i dla każdej z nich uruchamia proces yes i przekierowuje jego wyjście do /dev/null
.
Podczas wykonywania tego polecenia warto użyć top
, htop
lub innego programu do monitorowania wykorzystania procesora w celu sprawdzenia, czy osiąga on 100%. Wcześniej opublikowaliśmy artykuł o tym, jak sprawdzić i monitorować wykorzystanie procesora w systemie linux.
Gdy chcesz zatrzymać procesy yes
i powrócić do normalnego wykorzystania procesora, po prostu wpisz poniższe polecenie w terminalu.
$ killall yes
Inne metody testowania CPU
Stress
Stress jest prostym generatorem obciążenia, który nakłada konfigurowalną ilość stresu na system. Oprócz możliwości testowania CPU, jest również w stanie wykonać obciążenie pamięci, I/O i dysku w systemie.
Na Arch Linux i Manjaro może być zainstalowany za pomocą następującej komendy.
$ pacman -S stress
Na Debianie, Ubuntu i Mint może być zainstalowany za pomocą następującej komendy.
$ sudo apt install stress
Na dystrybucjach opartych na RHEL można go zainstalować za pomocą następującego polecenia po włączeniu Repozytorium Extra Packages for Enterprise Linux (EPEL)
$ sudo yum install stress
Aby przeprowadzić test warunków skrajnych z stress
, wystarczy wprowadzić następujące polecenie, gdzie liczba użyta w --cpu
to liczba wątków do uruchomienia. Aby w pełni obciążyć procesor, powinna to być całkowita liczba rdzeni procesora lub jej dwukrotność, jeśli procesor obsługuje technologię hyper-threading. Odpowiednią liczbę do użycia można uzyskać, wpisując getconf _NPROCESSORS_ONLN
. W naszym przykładzie wykonujemy stress test na czterordzeniowym procesorze i7, który obsługuje hyper-threading, więc używamy 8.
$ stress --cpu 8
S-tui
s-tui
jest nakładką na tekstowy interfejs użytkownika dla polecenia stress
. Oprócz przeprowadzania testu warunków skrajnych wykonywanego przez stress
, s-tui
monitoruje również temperaturę, częstotliwość, moc i wykorzystanie procesora, wyświetlając wykresy odpowiadające każdej wartości w terminalu. s-tui
można zainstalować we wszystkich dystrybucjach za pomocą pip. Aby to zrobić, wprowadź następujące polecenie.
$ pip install s-tui --user
Aby uruchomić test warunków skrajnych, wprowadź polecenie s-tui
do swojego terminala, a następnie naciśnij strzałkę w dół (lub klawisz j) i naciśnij enter, aby przełączyć się z trybu monitor
na tryb stress
. Zobaczysz graficzną reprezentację podobną do poniższego zrzutu ekranu.
Wnioski
W tym artykule zobaczyliśmy, jak zmaksymalizować wykorzystanie procesora w systemie Linux przy użyciu polecenia yes
w pętli bash
for w celu wykonania „tak stress testu”. Następnie rozbiliśmy każdą część polecenia, aby zobaczyć co dokładnie robi i jak działa. Omówiliśmy monitorowanie wykorzystania procesora w celu sprawdzenia, czy osiąga on 100%, a następnie zobaczyliśmy, jak zainstalować i użyć stress
i s-tui
do wykonania testu obciążeniowego procesora.
Zaletą użycia s-tui
jest to, że jesteś w stanie monitorować wydajność bez użycia dodatkowego oprogramowania. Zaletą korzystania z „tak stress test” jest to, że jesteś w stanie wykonać test warunków skrajnych bez konieczności instalowania dodatkowego oprogramowania. Jeśli szukasz bardziej rozbudowanych testów warunków skrajnych i benchmarków w swoim systemie Linux to nasz artykuł o tym jak przeprowadzić benchmark systemu linuxowego ma dla ciebie pokrycie.
Dodaj komentarz