Přejít na hlavní obsah

Python: jak zjistit načítání procesoru

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.