os.cpu_count() și os.getloadavg() în Python

Sistem de operare (os) Python 3.4+ (cpu_count); getloadavg doar Unix

Numărul de procesoare logice și încărcarea medie a sistemului.

Sintaxă
os.cpu_count()
os.getloadavg()

Ce face os.cpu_count() și os.getloadavg()

cpu_count() returnează numărul de procesoare logice ale calculatorului (sau None dacă nu se poate afla). Este folosit pentru a alege câte procese sau fire de lucru să pornești.

getloadavg() (Unix) returnează încărcarea medie a sistemului în ultimele 1, 5 și 15 minute: numărul mediu de procese care rulează sau așteaptă procesorul.

Ce returnează

cpu_count: întreg sau None. getloadavg: tuplu de 3 float.

Exemple

Exemplul 1: Resursele calculatorului

import os
print("Procesoare:", os.cpu_count())
print("Încărcare 1/5/15 min:", [round(x, 2) for x in os.getloadavg()])
lucratori = max(1, (os.cpu_count() or 1) - 1)
print("Pornesc", lucratori, "procese")

Rezultat posibil (diferă la fiecare rulare)

Procesoare: 8
Încărcare 1/5/15 min: [2.31, 1.97, 1.85]
Pornesc 7 procese

Greșeli frecvente

  • Folosești direct os.cpu_count() - 1: dacă funcția returnează None, primești TypeError. Scrie (os.cpu_count() or 1).

Comenzi înrudite

  • os.uname(): Informații despre sistemul de operare: nume, numele calculatorului, versiunea nucleului, arhitectura.
  • os.times(): Timpii de procesor consumați de proces și de procesele copil.