Načítání procesoru - jeden z nejdůležitějších parametrů, které charakterizují fungování počítače. Při znalosti aktuálního zatížení CPU je možné určit příčinu nízkého výkonu systému, identifikovat úzká místa a optimalizovat jeho provoz. Ale jak poznám tuto metriku bez použití programů třetích stran nebo složitých nastavení?
V první řadě stojí za zmínku, že operační systém sám o sobě poskytuje několik standardních způsobů, jak získat informace o zatížení procesoru. Pro pohodlnější a flexibilnější analýzu dat je však často nutné vytvořit vlastní nástroje.
V tomto článku se podíváme na to, jak pomocí programovacího jazyka Python získat informace o spuštění procesoru. Na příkladech kódu a knihoven poskytneme podrobný návod k vytvoření programu pro monitorování výkonu systému.
Metody měření načítání procesoru v Pythonu
V Pythonu existuje několik způsobů, jak měřit načítání procesoru. Zvažte některé z nich:
1. Modul psutil : jedním z nejoblíbenějších a nejvýkonnějších modulů pro práci se systémovými zdroji v Pythonu je psutil . Poskytuje funkce pro monitorování procesoru, paměti RAM, místa na disku a dalších systémových prostředků. K měření zatížení procesoru lze použít funkci psutil.cpu_percent, který vrací aktuální zatížení procesoru v procentech.
2. Modul wmi: pokud váš program běží na operačním systému Windows, můžete použít modul wmi pro informace o spouštění procesoru. Modul wmi umožňuje provést dotaz na třídu Win32_PerfFormattedData_PerfOS_Processor, abyste získali informace o stavu procesoru.
3. Příkazový řádek: dalším způsobem, jak měřit načítání procesoru, je provést příkaz z Pythonu pomocí modulu subprocess . Například u systémů podobných Unixu tým top-n 1-b vrátí informace o spuštění procesoru. K provedení tohoto příkazu můžete použít modul subprocess a získat výsledek.
4. Knihovna psutil: alternativní možností použití modulu psutil je knihovna s názvem psutil . Poskytuje jednodušší a uživatelsky přívětivější rozhraní pro práci se systémovými zdroji. Například funkce psutil.cpu_percent je již implementován v této knihovně a abyste jej mohli používat , nemusíte modul psutil importovat sami.
To jsou jen některé ze způsobů, jak měřit načítání procesoru v Pythonu. Výběr metody závisí na vaší preferenci, úrovni zkušeností a platformě, na které pracujete. Pomocí těchto nástrojů budete moci získat informace o využití procesoru a použít je k analýze výkonu vašeho programu.
Použití knihovny psutil k měření zatížení procesoru
K měření načítání procesoru v Pythonu lze použít knihovnu psutil, která poskytuje pohodlné funkce a třídy pro práci se systémovými prostředky.
Chcete-li začít, musíte nainstalovat knihovnu psutil pomocí správce balíčků Pip:
pip install psutil
Po instalaci knihovny můžete použít třídu cpu_percent () z modulu psutil.cpu pro aktuální načítání procesoru.
import psutilcpu_usage = psutil.cpu_percent(interval=1)print(f"Текущая загрузка процессора: %")
V tomto příkladu zavoláme metodu cpu_percent () a předáme jí argument interval, který označuje časový interval mezi měřeními spouštění procesoru v sekundách. Poté získanou hodnotu vypočteme v procentech.
Také, můžete použít metodu cpu_percent () bez argumentu interval, abyste získali načítání procesoru od posledního volání této metody:
import psutil# Первый вызовpsutil.cpu_percent()# Некоторая задержка# Второй вызовcpu_usage = psutil.cpu_percent()print(f"Загрузка процессора с момента последнего вызова: %")
Díky knihovně psutil je měření CPU v Pythonu velmi snadné. Spolu s výkonnými funkcemi této knihovny můžete snadno vytvářet aplikace, které se ovládají a přizpůsobují aktuálnímu načítání procesoru.
Jak získat aktuální načítání procesoru v procentech
K získání aktuálního načítání procesoru v procentech v Pythonu lze použít modul psutil . Chcete-li začít, musíte tento modul nainstalovat pomocí příkazu:
pip install psutil
Po instalaci modulu lze použít funkci psutil.cpu_percent () pro aktuální načítání procesoru. Jako argument funkce lze uvést časový interval, za který bude výpočet proveden. Pokud argument není uveden, funkce vrátí průměr spouštění za posledních 1 sekundu.
import psutilcpu_load = psutil.cpu_percent()print("Текущая загрузка процессора:", cpu_load, "%")
Tato funkce vrací číslo s plovoucí desetinnou čárkou, které představuje aktuální zatížení procesoru v procentech. Hodnota 0 znamená, že procesor není nabitý a hodnota 100 označuje plné načítání procesoru.
Také pomocí funkce psutil.cpu_percent () lze načíst každé jádro procesoru Samostatně. K tomu je třeba uvést argument percpu=True . Například:
cpu_load_per_core = psutil.cpu_percent(percpu=True)for i, load in enumerate(cpu_load_per_core):print("Загрузка ядра", i+1, ":", load, "%")
Tento design by vedl k procentuálnímu zatížení každého jádra procesoru.
Pomocí modulu psutil lze také získat informace o načítání paměti RAM, prostoru na disku a dalších systémových parametrech, což z něj činí velmi užitečný nástroj pro monitorování systému v Pythonu.