Hogyan végezzen stressztesztet a CPU-n Linuxon
On január 25, 2022 by adminSok oka lehet annak, hogy miért szeretné stressztesztelni a CPU-t a Linux rendszerében. Megnézheti, hogyan teljesít az operációs rendszer és a hardver teljes CPU-kihasználtság mellett, hogy kiszúrja a szoftverhibákat vagy a hardverhibákat. Alternatívaként lehet, hogy gyorsan nagy hőt akarsz termelni, hogy a gépeddel kapcsolatos, hőmérséklettel kapcsolatos problémákat keress; a CPU-kihasználtság maximalizálása ezt fogja elérni. Bármi legyen is az ok, van egy gyors és egyszerű módja a cél elérésének.
Ezzel a bemutatóval megtanulhatja:
- Hogyan végezhet stresszteszteket a CPU-n a yes stressz teszt használatával
- Hogyan végezhet stresszteszteket a CPU-n a stressz parancs használatával
- Hogyan végezhet stresszteszteket a CPU-n a s-tui parancs
Szoftverkövetelmények és használt konvenciók
Kategória | Követelmények, Conventions or Software Version Used |
---|---|
System | Distribúciófüggetlen |
Software | yes, getconf, seq, bash, stress, s-tui |
Other | Nem szükséges root jogosultság a yes stress teszthez. Más stresszteszt csomagok telepítéséhez a Linux rendszerhez root felhasználóként vagy a sudo parancson keresztül kiváltságos hozzáférésre lehet szükség. |
Egyezmény | # – az adott linux parancsokat root jogosultságokkal kell végrehajtani, vagy közvetlenül root felhasználóként, vagy a sudo parancs$ használatával. az adott linux parancsokat normál, nem privilegizált felhasználóként kell végrehajtani |
Használati forgatókönyv
A cikkben részletezett yes stresszteszt nagyon hasznos lehet hibaelhárítási célokra. Gyakran előfordul, hogy az időszakos problémák csak akkor válnak reprodukálhatóvá, amikor a rendszer nagy terhelésnek van kitéve, néha hosszabb ideig. Előfordulhat, hogy olyan helyzetbe kerül, amikor a gépén, vagy egy felhasználó számára karbantartott gépén váratlan leállások, kernelpánik vagy más időszakos problémák lépnek fel. Ebben a helyzetben megkísérelheti reprodukálni a problémát. Ebben az esetben a következő parancsot futtathatja a processzor stresszteszteléséhez, így a probléma nagyobb valószínűséggel fordulhat elő, és így megfigyelhetővé válik az Ön számára.
Miután lépéseket tett a helyzet orvoslására, például eltávolította a szoftvert, újratelepítette a szoftvert, beleértve az operációs rendszert is, vagy kicserélte a hardverkomponenseket, újra futtathatja a parancsot, hogy megállapítsa, megoldotta-e a problémát.
Igen Stressz teszt
Ez az egysoros parancs létrehoz egy yes
folyamatot, amely a gép minden processzormagján fut. A yes
a y
betűt nyomtatja ki ismételten, amíg meg nem öli. Egy üresjárati rendszerben minden yes folyamat a processzormag 100%-át használja. Ha a processzor támogatja a hyper-threadinget, és az engedélyezve van, akkor kétszer annyi folyamatot hoz létre, mivel ez szükséges a CPU kihasználtság teljes maximalizálásához.
Ez a megközelítés előnye, hogy csak olyan szabványos segédprogramokat igényel, amelyek a GNU/Linux rendszerekben alapból megtalálhatóak, így nincs szükség további programok vagy könyvtárak telepítésére. Ezenkívül a futtatásához nincs szükség root jogosultságokra. A kezdéshez írja be a következő parancsot a termináljába.
$ for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
A UAF Geofizikai Intézet, tapasztalt Linux rendszerelemzőt keres a kutatói kiberinfrastruktúra elemzői és mérnökei csapatába. HELYZET: Fairbanks, Alaszka, USA
JELENTKEZÉS
Bontjuk le, hogy pontosan mit is csinál ez az egysoros. getconf _NPROCESSORS_ONLN
megkapja a processzormagok számát; beleértve a virtuális magokat is a hiper-szálas processzorok esetében. A $()
parancson belül futtatva a $()
parancs kimenetét a seq
parancs argumentumaként helyezi el. seq $(getconf _NPROCESSORS_ONLN)
egy számsorozatot ír ki 1-től a rendszerben lévő virtuális CPU-magok számáig. Ennek a $()
parancson belüli futtatása lehetővé teszi, hogy ezt a számsorozatot a bash for ciklusunkban használjuk.
Végül maga a for ciklus, a for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
veszi a számsorozatot 1-től a virtuális magok számáig, és mindegyikhez elindít egy yes folyamatot, és átirányítja a kimenetét a /dev/null
-be.
A parancs futtatásakor célszerű a top
, htop
vagy valamilyen más program segítségével figyelni a CPU-kihasználtságot, hogy ellenőrizzük, eléri-e a 100%-ot. Korábban közzétettünk egy cikket arról, hogyan ellenőrizhetjük és monitorozhatjuk a cpu-kihasználtságot linuxon.
Ha le akarjuk állítani a yes
folyamatokat, és vissza akarunk térni a normál CPU-kihasználtsághoz, egyszerűen írjuk be a terminálba a következőt.
$ killall yes
Más CPU stresszteszt módszerek
Stressz
A stressz egy egyszerű terhelésgenerátor, amely konfigurálható mennyiségű stresszt ró a rendszerre. Amellett, hogy képes a CPU stressztesztelésére, képes memória, I/O és lemez stresszt is végrehajtani a rendszeren.
A Arch Linuxon és a Manjarón a következő paranccsal telepíthető.
$ pacman -S stress
A Debian, Ubuntu és Mint rendszereken a következő paranccsal telepíthető.
$ sudo apt install stress
RHEL alapú disztribúciókra a következő paranccsal telepíthető az Extra Packages for Enterprise Linux (EPEL) Repository engedélyezése után
$ sudo yum install stress
A stress
stresszteszt elvégzéséhez egyszerűen írja be a következő parancsot, ahol a --cpu
-ben használt szám az indítandó szálak száma. A CPU teljes terheléséhez ennek a CPU-magok teljes számának kell lennie, vagy a duplájának, ha a CPU támogatja a hyper-threadinget. A megfelelő számot a getconf _NPROCESSORS_ONLN
beírásával kaphatja meg. Példánkban a stressztesztet egy négymagos i7-en végezzük, amely támogatja a hyper-threadinget, ezért 8-at használunk.
$ stress --cpu 8
S-tui
s-tui
a stress
parancs szöveges felhasználói felületének előlapja. A s-tui
a stress
által végzett stresszteszt futtatása mellett a CPU hőmérsékletét, frekvenciáját, teljesítményét és kihasználtságát is figyeli, miközben az egyes értékeknek megfelelő grafikonokat jelenít meg a terminálban. A s-tui
minden disztribúcióra telepíthető a pip segítségével. Ehhez írja be a következő parancsot:
$ pip install s-tui --user
A stresszteszt futtatásához írja be a s-tui
parancsot a terminálba, majd nyomja meg a lefelé mutató nyilat (vagy a j billentyűt) és az Entert, hogy a monitor
módból stress
módba váltson. Az alábbi képernyőképhez hasonló grafikus megjelenítést fog látni.
Következtetés
Ebben a cikkben láttuk, hogyan lehet maximalizálni a Linux rendszer CPU kihasználtságát a yes
parancs segítségével egy bash
for cikluson belül egy “igen stressz teszt” végrehajtásához. Ezután lebontottuk a parancs minden egyes részét, hogy pontosan lássuk, mit csinál és hogyan működik. Megbeszéltük a CPU-kihasználtság monitorozását annak ellenőrzésére, hogy eléri-e a 100%-ot, majd megnéztük, hogyan kell telepíteni és használni a stress
és a s-tui
parancsot a CPU stresszteszt elvégzéséhez.
A s-tui
használatának előnye, hogy a teljesítményt további szoftverek használata nélkül is nyomon követheti. Az “igen stresszteszt” használatának előnye, hogy a stressztesztet további szoftverek telepítése nélkül végezheti el. Ha szélesebb körű stresszteszteket és teljesítményértékelést szeretne végezni a Linux rendszerén, akkor a linux rendszer teljesítményértékeléséről szóló cikkünkben megtalálhatja a megfelelő megoldást.
Vélemény, hozzászólás?