Suorittimen rasitustestaus Linuxissa
On 25 tammikuun, 2022 by adminOn monia syitä, miksi voit haluta rasitustestata Linux-järjestelmäsi suorittimen. Voit haluta nähdä, miten käyttöjärjestelmäsi ja laitteistosi toimivat täydellä suorittimen käyttöasteella, jotta voit havaita ohjelmistovirheitä tai laitteistovikoja. Vaihtoehtoisesti voit haluta tuottaa paljon lämpöä nopeasti selvittääksesi koneesi lämpötilaan liittyvän ongelman; maksimoimalla suorittimen käyttöasteen voit tehdä sen. Oli syy mikä tahansa, on olemassa nopea ja helppo tapa saavuttaa tämä tavoite.
Tässä opetusohjelmassa opit:
- Miten suoritat prosessorin stressitestejä käyttämällä yes stressitestiä
- Miten suoritat prosessorin stressitestejä käyttämällä stress-komentoa
- Miten suoritat prosessorin stressitestejä käyttämällä s-tui-komennolla
Ohjelmistovaatimukset ja käytetyt konventiot
Kategoria | Vaatimukset, Käytetyt konventiot tai ohjelmistoversio |
---|---|
Järjestelmä | Jakelusta riippumaton |
Ohjelmisto | yes, getconf, seq, bash, stress, s-tui |
Muuta | Ja stressitesti ei vaadi pääkäyttäjän (root) oikeuksia. Muiden stressitestipakettien asentamiseen saatetaan tarvita etuoikeudet Linux-järjestelmään root-käyttäjänä tai sudo -komennolla. |
Sopimukset | # – edellyttää, että annetut linux-komennot suoritetaan pääkäyttäjän oikeuksin joko suoraan pääkäyttäjänä tai sudo -komennon$ avulla. edellyttää, että annetut linux-komennot suoritetaan tavallisena ei-oikeutettuna käyttäjänä |
Käyttöskenaario
Tässä artikkelissa kuvattu yes-stressitesti voi olla erittäin hyödyllinen vianmäärityksessä. Usein ajoittaiset ongelmat tulevat toistettaviksi vasta, kun järjestelmää kuormitetaan voimakkaasti, joskus pidemmänkin aikaa. Saatat joutua tilanteeseen, jossa koneellasi tai koneella, jota ylläpidät jonkun käyttäjän puolesta, esiintyy odottamattomia sammumisia, ytimen paniikkitilanteita tai muita ajoittaisia ongelmia. Tässä tilanteessa voit yrittää jäljentää ongelman. Tällöin voit suorittaa seuraavan komennon prosessorin stressitestaamiseksi, jolloin ongelman esiintyminen on todennäköisempää ja siten havaittavissa.
Kun olet ryhtynyt toimenpiteisiin tilanteen korjaamiseksi, kuten poistanut ohjelmiston, asentanut ohjelmiston, mukaan lukien käyttöjärjestelmän, uudelleen tai vaihtanut laitteistokomponentteja, voisit ajaa komennon uudestaan selvittääksesi, onko se ratkaissut ongelman.
Kyllä Stressitesti
Tämä yksirivinen komento luo yes
-prosessin ajettavaksi koneen jokaisessa prosessoriytimessä. yes
tulostaa kirjaimen y
toistuvasti, kunnes se lopetetaan. Tyhjäkäynnillä olevassa järjestelmässä jokainen yes-prosessi käyttää 100 % suorittimen ytimestä. Jos prosessori tukee hypersäikeistystä ja se on käytössä, se luo kaksi kertaa enemmän prosesseja, sillä tämä on tarpeen, jotta prosessorin käyttöaste voidaan maksimoida täysin.
Tämän lähestymistavan etuna on, että se vaatii vain vakioapuohjelmia, jotka tulevat valmiiksi GNU/Linux-järjestelmissä, joten lisäohjelmien tai -kirjastojen asentamista ei tarvita. Lisäksi se ei vaadi root-oikeuksia toimiakseen. Aloita kirjoittamalla terminaaliin seuraava komento.
$ for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
UAF:n geofysikaalinen instituutti, etsii kokenutta Linux-järjestelmäanalyytikkoa liittyäkseen tutkimuskyberinfrastruktuurin analyytikoiden ja insinöörien tiimiinsä. SIJAINTI: Fairbanks, Alaska, USA
HAKEMUS
Kerrotaanpa tarkalleen, mitä tämä yksirivinen tekee. getconf _NPROCESSORS_ONLN
saa suorittimen ytimien määrän; mukaan lukien virtuaaliset ytimet prosessoreille, joissa on hyper-threading. Komennon suorittaminen $()
:n sisällä asettaa sen tuloksen seq
-komennon argumentiksi. seq $(getconf _NPROCESSORS_ONLN)
tulostaa numerosarjan 1:stä aina järjestelmässä olevien virtuaalisten prosessoriytimien määrään asti. Kun tämä ajetaan $()
:n sisällä, kyseistä numerosarjaa voidaan käyttää bashin for-silmukassa.
Loppujen lopuksi itse for-silmukka for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
ottaa numerosarjan 1:stä virtuaalisten ytimien määrään ja käynnistää jokaisesta niistä yes-prosessin ja ohjaa sen tulosteen osoitteeseen /dev/null
.
Tämän komennon suorittamisen yhteydessä on suositeltavaa käyttää top
, htop
tai jotakin muuta ohjelmaa suorittimen käyttöasteen seuraamiseen, jotta voidaan varmistaa, että se saavuttaa 100 %. Julkaisimme aiemmin artikkelin siitä, miten tarkistaa ja seurata cpu:n käyttöastetta linuxissa.
Kun haluat pysäyttää yes
-prosessit ja palata normaaliin suorittimen käyttöasteeseen, kirjoita terminaaliin yksinkertaisesti seuraava komento.
$ killall yes
Muut suorittimen rasitustestimenetelmät
Stress
Stress on yksinkertainen työkuormitusgeneraattori, joka asettaa järjestelmälle konfiguroitavan rasitusmäärän. Sen lisäksi, että se pystyy suorittimen stressitestaukseen, se pystyy myös suorittamaan järjestelmälle muisti-, I/O- ja levystressiä.
Arch Linuxiin ja Manjaroon se voidaan asentaa seuraavalla komennolla.
$ pacman -S stress
Debianiin, Ubuntuun ja Mintiin se voidaan asentaa seuraavalla komennolla.
$ sudo apt install stress
RHEL-pohjaisiin distroihin se voidaan asentaa seuraavalla komennolla sen jälkeen, kun Extra Packages for Enterprise Linux (EPEL) Repository on otettu käyttöön
$ sudo yum install stress
Tehdäksesi rasitustestin stress
:llä, syötä yksinkertaisesti seuraava komento, jossa --cpu
:ssä käytetty luku on käynnistettävien säikeiden määrä. Jos haluat rasittaa prosessoria täysin, tämän pitäisi olla prosessoriytimien kokonaismäärä tai kaksinkertainen määrä, jos prosessori tukee hyper-säikeistystä. Saat sopivan käytettävän luvun syöttämällä getconf _NPROCESSORS_ONLN
. Esimerkissämme suoritamme stressitestin neliytimisellä i7:llä, joka tukee hypersäikeistystä, joten käytämme arvoa 8.
$ stress --cpu 8
S-tui
s-tui
on tekstikäyttöliittymän etusivu komennolle stress
. stress
:n suorittaman rasitustestin suorittamisen lisäksi s-tui
valvoo myös suorittimen lämpötilaa, taajuutta, tehoa ja käyttöastetta ja näyttää samalla kutakin arvoa vastaavat kuvaajat päätelaitteessa. s-tui
voidaan asentaa kaikkiin jakeluihin pipin avulla. Voit tehdä sen kirjoittamalla seuraavan komennon.
$ pip install s-tui --user
Suorittamaan stressitestiä kirjoita s-tui
-komento päätelaitteeseen, paina sitten nuolta alas (tai j-näppäintä) ja paina enteriä siirtyäksesi monitor
-tilasta stress
-tilaan. Näet seuraavan kuvakaappauksen kaltaisen graafisen esityksen.
Johtopäätös
Tässä artikkelissa näimme, miten voit maksimoida prosessorin käyttöasteen Linux-järjestelmässäsi käyttämällä yes
-komentoa bash
for-silmukan sisällä bash
”kyllä-stressitestin” suorittamiseksi. Sen jälkeen purimme komennon jokaisen osan nähdäksemme tarkalleen, mitä se teki ja miten se toimi. Keskustelimme suorittimen käyttöasteen seurannasta varmistaaksemme, että se saavuttaa 100 %:n tason, sitten näimme, miten stress
ja s-tui
asennetaan ja käytetään suorittimen stressitestin suorittamiseen.
s-tui
:n käytön etuna on se, että voit seurata suorituskykyä ilman lisäohjelmia. Jos haluat suorittaa laajempia stressitestejä ja vertailuanalyysejä Linux-järjestelmällesi, voit tutustua artikkeliin Linux-järjestelmän vertailuanalyysien tekeminen.
Vastaa