Bien sûr, voici un script Python pour calculer des statistiques clés sur l’utilisation du CPU,

Bien sûr, voici un script Python pour calculer des statistiques clés sur l’utilisation du CPU, suivi d’une explication détaillée.

« `python
import os
import psutil
import time

def collect_cpu_stats(interval, iterations):
«  » »
Collect CPU statistics over a specified interval and number of iterations.

:param interval: Time interval between each data collection (in seconds).
:param iterations: Number of iterations to collect data.
:return: Dictionary containing CPU usage statistics.
«  » »
cpu_stats = {
‘total_usage’: 0.0,
‘total_time’: 0.0,
‘min_usage’: float(‘inf’),
‘max_usage’: float(‘-inf’),
‘avg_usage’: 0.0
}

for _ in range(iterations):
start_time = time.time()
current_usage = psutil.cpu_percent(interval=interval)
end_time = time.time()
elapsed_time = end_time – start_time

cpu_stats[‘total_usage’] += current_usage * elapsed_time
cpu_stats[‘total_time’] += elapsed_time
cpu_stats[‘min_usage’] = min(cpu_stats[‘min_usage’], current_usage)
cpu_stats[‘max_usage’] = max(cpu_stats[‘max_usage’], current_usage)

time.sleep(interval)

cpu_stats[‘avg_usage’] = cpu_stats[‘total_usage’] / cpu_stats[‘total_time’]
return cpu_stats

def print_cpu_stats(stats):
«  » »
Print the collected CPU statistics in a formatted manner.

:param stats: Dictionary containing CPU usage statistics.
«  » »
print(f »CPU Usage Statistics over {stats[‘total_time’]:.2f} seconds: »)
print(f »Minimum Usage: {stats[‘min_usage’]:.2f}% »)
print(f »Maximum Usage: {stats[‘max_usage’]:.2f}% »)
print(f »Average Usage: {stats[‘avg_usage’]:.2f}% »)

if __name__ == « __main__ »:
interval = 1 # Time interval between each data collection (in seconds)
iterations = 10 # Number of iterations to collect data

print(« Collecting CPU statistics… »)
cpu_stats = collect_cpu_stats(interval, iterations)
print_cpu_stats(cpu_stats)
« `

Explication du Script

# Importation des Modules
Le script commence par importer les modules nécessaires :
– `os` pour les opérations système, bien que non utilisé ici.
– `psutil` pour collecter les statistiques sur l’utilisation du CPU.
– `time` pour gérer les intervalles de temps.

# Fonction `collect_cpu_stats`
Cette fonction collecte les statistiques d’utilisation du CPU sur un intervalle de temps donné et un nombre d’itérations.
– `interval` spécifie le temps entre chaque collecte de données (en secondes).
– `iterations` définit le nombre de fois que les données seront collectées.

La fonction initialise un dictionnaire `cpu_stats` pour stocker les statistiques suivantes :
– `total_usage` : Utilisation totale du CPU.
– `total_time` : Temps total écoulé.
– `min_usage` : Utilisation minimale du CPU.
– `max_usage` : Utilisation maximale du CPU.
– `avg_usage` : Utilisation moyenne du CPU.

Pour chaque itération, la fonction :
1. Enregistre le temps de départ.
2. Collecte l’utilisation actuelle du CPU avec `psutil.cpu_percent(interval=interval)`.
3. Enregistre le temps d’arrivée.
4. Calcule le temps écoulé entre les deux mesures.
5. Met à jour les statistiques totales et les valeurs minimales et maximales.
6. Pause pour l’intervalle de temps spécifié.

Après toutes les itérations, la fonction calcule l’utilisation moyenne du CPU et retourne le dictionnaire des statistiques.

# Fonction `print_cpu_stats`
Cette fonction affiche les statistiques collectées de manière formatée.

# Exécution du Script
Dans la section `if __name__ == « __main__ »:`, le script définit l’intervalle de temps et le nombre d’itérations, collecte les statistiques et les affiche.

Conclusion
Ce script Python fournit une méthode simple et efficace pour collecter et afficher des statistiques clés sur l’utilisation du CPU. Il peut être facilement adapté pour des besoins spécifiques, tels que l’ajustement des intervalles de temps ou l’ajout de fonctionnalités supplémentaires.

Retour en haut