przystajnik

Terminal pogryzł człowieka: stress-ng

Czy może być lepszy sposób na przetestowanie wydajności swojego komputera niż… Przetestowanie jego możliwości? Za tym pozornie maślano-maślanym komunałem kryje się wiedza, jakiego narzędzia najlepiej użyć do tego celu. Większość z was zakrzyknie bez zastanowienia – „użyj stress”. I byłaby to porada słuszna, gdyby nie stress-ng.

Czym się różni stress-ng od popularnego stress? W zasadzie w obydwu przypadkach chodzi o to samo. Nałożyć na procesor tyle pracy i w tak nieoczekiwanej formie, żeby rozgrzać go do czerwoności. Założenie to może i brzmi banalnie, ale wystarczy rzucić okiem na to, czym zamierza stresować procesor stress-ng. To pierwsza poważniejsza różnica. Stress-ng jest o wiele bardziej wysublimowany. Oferuje około 70 algorytmów które są w stanie przebadać zachowanie i wydajność pod kątem przeliczeń zmiennoprzecinkowych, manipulacji bitowych, działań na liczbach rzeczywistych, itp. Kolejne 20 testów przebada sprawność pamięci wirtualnej (VM). W sumie dostajemy do ręki prawie 200 możliwych kombinacji obciążających przeróżne element istotne dla funkcjonowania nie tylko komputera ale i systemu operacyjnego. Jak można wyczytać w dokumentacji możemy skupić się na „CPU compute, Cache thrashing, Drive stress, I/O syncs, VM stress, Socket stressing, Context switching, Process creation and termination„.

Na ile temat jest istotny niech świadczy fakt, że stress-ng przyczynił się do wykrycia wielu błędów w kernelu – w tym także tych zagrażających bezpieczeństwu.

Oczywiście przeciętny użytkownik raczej nie będzie analizował wydajności i zachowania się niektórych funkcji kernela. Chociaż stress-ng nie jest reklamowany jako pełnoprawne narzędzie do benchmarków, to większość z nas wykorzysta go właśnie do tego celu. A możliwości mamy wiele. Np.:

uptime
stress-ng --cpu 4 --timeout 60s --metrics-brief
uptime

… co uruchomi cztery wątki testujące procesor na okoliczność przeróżnych obliczeń.

stress-ng --disk 2 --timeout 60s --metrics-brief

… co uruchomi 2 wątki wykonujące przeróżne czynności na naszym dysku – i tym samym dowiemy się o jego wydajności.

stress-ng --vm 2 --vm-bytes 1G --timeout 60s

… co dokona zaboru określonej ilości pamięci, prób jej alokacji, a dwa wątki będą wykonywały operacje odczytu i zapisu.

To zaledwie przykłady jak można wykorzystać stress-ng. Wspomniane testy można ze sobą łączyć, definiować dodatkowe parametry i uruchamiać je na dłuższy czas. Tym samym możemy zgotować naszemu komputerowi i systemowi prawdziwe piekło.

Jeżeli dopatrywać się sensowności powyższego to wystarczy pamiętać o możliwościach jakie się otwierają przed nami. Sprawdzanie stabilności termicznej, określanie stabilności pamięci, CPU i tak dalej. Za pomocą stress-ng można uniknąć wielu godzin spędzonych na dochodzeniu co i dlaczego nie działa.

A na dodatek program znajduje się po prostu w repozytoriach. 

Post navigation

Translate »