Cum să testați la stres CPU-ul pe Linux
On ianuarie 25, 2022 by adminExistă multe motive pentru care ați putea dori să testați la stres CPU-ul pe sistemul Linux. Este posibil să doriți să vedeți cum se comportă sistemul de operare și hardware-ul dvs. atunci când sunteți la o utilizare maximă a CPU-ului pentru a depista erori de software sau defecțiuni hardware. Alternativ, este posibil să doriți să generați rapid o cantitate mare de căldură pentru a depana o problemă legată de temperatură a mașinii dumneavoastră; maximizarea utilizării CPU va face acest lucru. Oricare ar fi motivul, există o modalitate rapidă și ușoară de a atinge acest obiectiv.
În acest tutorial veți învăța:
- Cum să efectuați teste de stres pe procesor folosind testul de stres yes
- Cum să efectuați teste de stres pe procesor folosind comanda stress
- Cum să efectuați teste de stres pe procesor folosind comanda stress
- Cum să efectuați teste de stres pe procesor folosind comanda s-tui command
Requizite software și convenții utilizate
Categorie | Requizite, Convenții sau versiunea de software utilizată |
---|---|
Sistem | Independent de distribuție |
Software | yes, getconf, seq, bash, stress, s-tui |
Altul | Nu sunt necesare privilegii de root pentru testul de rezistență yes. Este posibil să fie necesar accesul privilegiat la sistemul Linux ca root sau prin intermediul comenzii sudo pentru a instala alte pachete de testare la stres. |
Convenții | # – necesită ca anumite comenzi linux să fie executate cu privilegii de root, fie direct ca utilizator root, fie prin utilizarea comenzii sudo $ -. necesită ca comenzile linux date să fie executate ca un utilizator obișnuit fără privilegii |
Scenariu de utilizare
Testul de stres yes detaliat în acest articol poate fi foarte util în scopul depanării. În mod frecvent, problemele intermitente nu devin reproductibile până când sistemul nu este supus unei sarcini mari, uneori pentru o perioadă prelungită de timp. Este posibil să vă aflați în situația în care mașina dvs. sau una pe care o întrețineți pentru un utilizator se confruntă cu opriri neașteptate, panici ale kernelului sau alte probleme intermitente. În această situație, este posibil să doriți să încercați să reproduceți problema. În acest caz, ați putea rula următoarea comandă pentru a testa procesorul la stres, făcând mai probabilă apariția problemei și, prin urmare, observabilă pentru dumneavoastră.
După ce ați luat măsuri pentru a remedia situația, cum ar fi dezinstalarea software-ului, reinstalarea software-ului, inclusiv a sistemului de operare sau înlocuirea componentelor hardware, ați putea rula din nou comanda pentru a determina dacă a rezolvat sau nu problema.
Yes Stress Test
Acest one-liner va crea un proces yes
care va rula pe fiecare nucleu de procesor al mașinii. yes
tipărește litera y
în mod repetat până când este ucis. Pe un sistem inactiv, fiecare proces yes va utiliza 100% dintr-un nucleu de procesor. În cazul în care procesorul suportă hyper-threading și acesta este activat, atunci se vor crea de două ori mai multe procese, deoarece acest lucru este necesar pentru a maximiza pe deplin utilizarea CPU.
Beneficiul acestei abordări este că necesită doar utilități standard care vin din cutie pe sistemele GNU/Linux, deci nu este necesară instalarea de programe sau biblioteci suplimentare. În plus, nu necesită privilegii de root pentru a rula. Pentru a începe, introduceți următoarea comandă în terminalul dumneavoastră.
$ for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
Institutul de Geofizică al UAF, caută un analist de sisteme Linux cu experiență pentru a se alătura echipei sale de analiști și ingineri de cercetare a infrastructurii cibernetice. LOCALIZARE: Fairbanks, Alaska, SUA
APLICĂ ACUM
Să deslușim ce anume face acest one-liner. getconf _NPROCESSORS_ONLN
obține numărul de nuclee CPU; inclusiv cele virtuale pentru procesoarele cu hyper-threading. Rularea comenzii în cadrul $()
plasează rezultatul acesteia ca argument pentru comanda seq
. seq $(getconf _NPROCESSORS_ONLN)
tipărește o secvență de numere de la 1 până la numărul de nuclee CPU virtuale prezente în sistem. Rularea acestei comenzi în cadrul $()
permite ca acea secvență de numere să fie utilizată în bucla noastră bash for loop.
În cele din urmă, bucla for propriu-zisă, for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
ia secvența de numere de la 1 până la cantitatea de nuclee virtuale și pentru fiecare dintre ele pornește un proces yes și redirecționează ieșirea acestuia către /dev/null
.
Când se execută această comandă este recomandabil să se folosească top
, htop
sau un alt program de monitorizare a utilizării CPU pentru a verifica dacă aceasta atinge 100%. Am publicat anterior un articol despre cum să verificăm și să monitorizăm utilizarea cpu pe linux.
Când doriți să opriți procesele yes
și să reveniți la o utilizare normală a CPU-ului, introduceți pur și simplu următoarele în terminal.
$ killall yes
Alte metode de testare la stres a CPU-ului
Stress
Stress este un generator simplu de sarcină de lucru care impune o cantitate configurabilă de stres asupra sistemului. Pe lângă faptul că este capabil să testeze la stres CPU, este capabil de asemenea să efectueze stresul de memorie, I/O și disc pe un sistem.
Pe Arch Linux și Manjaro poate fi instalat cu următoarea comandă.
$ pacman -S stress
Pe Debian, Ubuntu și Mint poate fi instalat cu următoarea comandă.
$ sudo apt install stress
Pe distribuțiile bazate pe RHEL poate fi instalat cu următoarea comandă după ce se activează Extra Packages for Enterprise Linux (EPEL) Repository
$ sudo yum install stress
Pentru a efectua un test de stres cu stress
, este suficient să introduceți următoarea comandă, unde numărul folosit în --cpu
este numărul de fire de execuție care trebuie să pornească. Pentru a solicita pe deplin procesorul, acesta ar trebui să fie numărul total de nuclee ale procesorului sau dublu dacă procesorul suportă hyper-threading. Puteți obține numărul corespunzător de utilizat introducând getconf _NPROCESSORS_ONLN
. În exemplul nostru, efectuăm testul de stres pe un quad core i7 care suportă hyper-threading, așa că folosim 8.
$ stress --cpu 8
S-tui
s-tui
este o interfață de interfață text cu utilizatorul pentru comanda stress
. Pe lângă rularea testului de stres efectuat de stress
, s-tui
monitorizează, de asemenea, temperatura, frecvența, puterea și utilizarea procesorului, afișând în același timp grafice corespunzătoare fiecărei valori în terminal. s-tui
poate fi instalat în toate distribuțiile folosind pip. Pentru a face acest lucru, introduceți următoarea comandă.
$ pip install s-tui --user
Pentru a rula testul de stres introduceți comanda s-tui
în terminal, apoi apăsați săgeata în jos (sau tasta j) și apăsați enter pentru a trece de la modul monitor
la modul stress
. Veți vedea o reprezentare grafică asemănătoare cu următoarea captură de ecran.
Concluzie
În acest articol am văzut cum să maximizăm utilizarea CPU pe sistemul Linux folosind comanda yes
în cadrul unei bucle bash
for pentru a efectua un „yes stress test”. Am descompus apoi fiecare parte a comenzii pentru a vedea exact ce făcea și cum funcționa. Am discutat despre monitorizarea utilizării CPU pentru a verifica dacă aceasta ajunge la 100%, apoi am văzut cum să instalăm și să folosim stress
și s-tui
pentru a efectua un test de stres al CPU.
Beneficiul utilizării s-tui
este că puteți monitoriza performanța fără a utiliza niciun software suplimentar. Beneficiul utilizării „yes stress test” este că puteți efectua testul de stres fără a fi nevoie să instalați niciun software suplimentar. Dacă doriți să efectuați teste de stres și analize comparative mai extinse pe sistemul dvs. Linux, atunci articolul nostru despre cum să efectuați analize comparative ale sistemului dvs. Linux vă oferă toate informațiile necesare.
.
Lasă un răspuns