Jak provést zátěžový test procesoru v systému Linux
On 25 ledna, 2022 by adminExistuje mnoho důvodů, proč chcete provést zátěžový test procesoru v systému Linux. Možná budete chtít zjistit, jak se váš operační systém a hardware chová při plném vytížení procesoru, abyste odhalili softwarové chyby nebo selhání hardwaru. Případně můžete chtít rychle generovat velké množství tepla, abyste vyřešili problém související s teplotou vašeho počítače; k tomu poslouží maximální vytížení procesoru. Ať už je důvod jakýkoli, existuje rychlý a snadný způsob, jak tohoto cíle dosáhnout.
V tomto kurzu se naučíte:
- Jak provádět zátěžové testy procesoru pomocí příkazu yes stress test
- Jak provádět zátěžové testy procesoru pomocí příkazu stress
- Jak provádět zátěžové testy procesoru pomocí příkazu s-tui
Požadavky na software a používané konvence
Kategorie | Požadavky, Použité konvence nebo verze softwaru |
---|---|
Systém | Nezávislý na distribuci |
Software | yes, getconf, seq, bash, stress, s-tui |
Ostatní | Pro zátěžový test yes nejsou vyžadována práva root. Pro instalaci dalších balíčků zátěžových testů může být vyžadován privilegovaný přístup k systému Linux jako root nebo prostřednictvím příkazu sudo . |
Příkazy | # – vyžaduje, aby dané linuxové příkazy byly spuštěny s právy roota buď přímo jako uživatel root, nebo pomocí sudo příkazu$ -. vyžaduje, aby dané linuxové příkazy byly spuštěny jako běžný neprivilegovaný uživatel |
Scénář použití
Zátěžový test ano podrobně popsaný v tomto článku může být velmi užitečný pro účely řešení problémů. Často se stává, že přerušované problémy jsou reprodukovatelné až po velkém zatížení systému, někdy i po delší dobu. Můžete se ocitnout v situaci, kdy váš počítač nebo počítač, který spravujete pro uživatele, zažívá neočekávané vypínání, paniku jádra nebo jiné přerušované problémy. V takové situaci se můžete pokusit problém reprodukovat. V takovém případě můžete spustit následující příkaz pro zátěžový test procesoru, čímž se zvýší pravděpodobnost výskytu problému, a tedy i jeho pozorovatelnost pro vás.
Po provedení kroků k nápravě situace, jako je odinstalování softwaru, přeinstalování softwaru včetně operačního systému nebo výměna hardwarových komponent, byste mohli znovu spustit tento příkaz, abyste zjistili, zda se problém vyřešil.
Ano Zátěžový test
Tento jednorázový příkaz vytvoří yes
proces, který se spustí na každém jádře procesoru počítače. yes
opakovaně vypíše písmeno y
, dokud není ukončen. V nečinném systému bude každý ano proces využívat 100 % jádra procesoru. Pokud procesor podporuje hyper-threading a je povolen, pak se vytvoří dvojnásobný počet procesů, protože je to nutné pro plné maximální využití procesoru.
Výhodou tohoto přístupu je, že vyžaduje pouze standardní nástroje, které jsou v systémech GNU/Linux dodávány jako součást balení, takže není třeba instalovat žádné další programy nebo knihovny. Navíc ke svému spuštění nevyžaduje práva roota. Chcete-li začít, zadejte do terminálu následující příkaz.
$ for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
Geofyzikální ústav UAF, hledá zkušeného systémového analytika pro Linux, který by se připojil k týmu analytiků a inženýrů výzkumné kybernetické infrastruktury. MÍSTO VÝKONU: Fairbanks, Aljaška, USA
PŘIHLÁSIT SE HNED
Podívejme se, co přesně dělá tento jedničkář. getconf _NPROCESSORS_ONLN
Získá počet jader procesoru; včetně virtuálních u procesorů s hyper-threadingem. Spuštění příkazu v rámci $()
umístí jeho výstup jako argument příkazu seq
. seq $(getconf _NPROCESSORS_ONLN)
vypíše posloupnost čísel od 1 až po počet virtuálních jader procesoru přítomných v systému. Spuštění tohoto příkazu v rámci příkazu $()
umožní použít tuto posloupnost čísel v naší smyčce bash for.
Nakonec samotná smyčka for, for i in $(seq $(getconf _NPROCESSORS_ONLN)); do yes > /dev/null & done
vezme posloupnost čísel od 1 do počtu virtuálních jader a pro každé z nich spustí proces yes a přesměruje jeho výstup do /dev/null
.
Při spuštění tohoto příkazu je vhodné použít top
, htop
nebo jiný program pro sledování vytížení procesoru, aby bylo možné ověřit, zda dosahuje 100 %. Již dříve jsme publikovali článek o tom, jak kontrolovat a sledovat vytížení procesoru v systému Linux.
Když chcete zastavit procesy yes
a vrátit se k normálnímu vytížení procesoru, jednoduše zadejte do terminálu následující příkaz.
$ killall yes
Další metody zátěžového testování procesoru
Stress
Stress je jednoduchý generátor pracovní zátěže, který systém zatěžuje nastavitelnou mírou. Kromě toho, že dokáže testovat zátěž procesoru, je také schopen provádět zátěž paměti, I/O a disku v systému.
V systémech Arch Linux a Manjaro jej lze nainstalovat pomocí následujícího příkazu.
$ pacman -S stress
V systémech Debian, Ubuntu a Mint jej lze nainstalovat pomocí následujícího příkazu.
$ sudo apt install stress
Na distribucích založených na RHEL jej lze nainstalovat následujícím příkazem po povolení repozitáře Extra Packages for Enterprise Linux (EPEL)
$ sudo yum install stress
Pro provedení zátěžového testu s stress
stačí zadat následující příkaz, kde číslo použité v --cpu
je počet vláken, která se mají spustit. Pro plné zatížení procesoru by to měl být celkový počet jader procesoru nebo dvojnásobek, pokud procesor podporuje hyper-threading. Příslušné číslo, které použijete, získáte zadáním getconf _NPROCESSORS_ONLN
. V našem příkladu provádíme zátěžový test na čtyřjádrovém procesoru i7, který podporuje hyper-threading, takže použijeme 8.
$ stress --cpu 8
S-tui
s-tui
je front-end textového uživatelského rozhraní pro příkaz stress
. Kromě spuštění zátěžového testu prováděného příkazem stress
sleduje příkaz s-tui
také teplotu, frekvenci, výkon a vytížení procesoru, přičemž v terminálu zobrazuje grafy odpovídající jednotlivým hodnotám. Nástroj s-tui
lze nainstalovat ve všech distribucích pomocí pip. Za tímto účelem zadejte následující příkaz:
$ pip install s-tui --user
Pro spuštění zátěžového testu zadejte do terminálu příkaz s-tui
, poté stiskněte šipku dolů (nebo klávesu j) a stiskněte enter pro přepnutí z režimu monitor
do režimu stress
. Zobrazí se grafické znázornění podobné následujícímu snímku obrazovky.
Závěr
V tomto článku jsme viděli, jak maximalizovat využití procesoru v systému Linux pomocí příkazu yes
v rámci smyčky bash
for a provést „ano zátěžový test“. Poté jsme rozebrali jednotlivé části příkazu, abychom zjistili, co přesně dělá a jak funguje. Probrali jsme sledování vytížení procesoru, abychom ověřili, zda dosahuje 100 %, a pak jsme viděli, jak nainstalovat a použít stress
a s-tui
k provedení zátěžového testu procesoru.
Výhodou použití s-tui
je, že můžete sledovat výkon bez použití dalšího softwaru. Výhodou použití „ano zátěžový test“ je, že jste schopni provést zátěžový test, aniž byste museli instalovat jakýkoli další software. Pokud chcete provádět rozsáhlejší zátěžové testy a srovnávací testy systému Linux, pak se vám bude hodit náš článek o tom, jak provést srovnávací testy systému Linux.
Napsat komentář