programowanie:python:psutil

psutil

import psutil
 
# Informacje o CPU
print(f"CPU count: {psutil.cpu_count(logical=True)}")
print(f"CPU usage: {psutil.cpu_percent(interval=1)}%")
 
# Informacje o pamięci
memory = psutil.virtual_memory()
print(f"Total memory: {memory.total / (1024 ** 3):.2f} GB")
print(f"Available memory: {memory.available / (1024 ** 3):.2f} GB")
print(f"Memory usage: {memory.percent}%")
 
# Informacje o dyskach
disk = psutil.disk_usage('/')
print(f"Total disk space: {disk.total / (1024 ** 3):.2f} GB")
print(f"Used disk space: {disk.used / (1024 ** 3):.2f} GB")
print(f"Free disk space: {disk.free / (1024 ** 3):.2f} GB")
print(f"Disk usage: {disk.percent}%")
 
# Informacje o sieci
net = psutil.net_io_counters()
print(f"Bytes sent: {net.bytes_sent / (1024 ** 2):.2f} MB")
print(f"Bytes received: {net.bytes_recv / (1024 ** 2):.2f} MB")
 
# Lista wszystkich uruchomionych procesów
for proc in psutil.process_iter(['pid', 'name', 'username']):
    print(proc.info)
 
# Informacje o konkretnym procesie
pid = 1234  # Podaj PID procesu
process = psutil.Process(pid)
print(f"Process name: {process.name()}")
print(f"Process status: {process.status()}")
print(f"CPU usage: {process.cpu_percent(interval=1)}%")
print(f"Memory usage: {process.memory_info().rss / (1024 ** 2):.2f} MB")
 
# Pobieranie temperatury CPU
temperatures = psutil.sensors_temperatures()
if not temperatures:
    print("Nie można pobrać informacji o temperaturze.")
else:
    for name, entries in temperatures.items():
        print(f"{name}:")
        for entry in entries:
            print(f"  {entry.label or 'N/A'}: {entry.current}°C (min: {entry.min}°C, max: {entry.max}°C)")
 
# Pobieranie statystyk interfejsów sieciowych
net_io = psutil.net_io_counters(pernic=True)
for interface, stats in net_io.items():
    print(f"Interfejs: {interface}")
    print(f"  Bytes sent: {stats.bytes_sent / (1024 ** 2):.2f} MB")
    print(f"  Bytes received: {stats.bytes_recv / (1024 ** 2):.2f} MB")
    print(f"  Packets sent: {stats.packets_sent}")
    print(f"  Packets received: {stats.packets_recv}")
    print(f"  Errors in: {stats.errin}")
    print(f"  Errors out: {stats.errout}")
    print(f"  Drops in: {stats.dropin}")
    print(f"  Drops out: {stats.dropout}")
 
# Pobieranie informacji o połączeniach sieciowych
connections = psutil.net_connections(kind='inet')
for conn in connections:
    print(f"Lokalny adres: {conn.laddr.ip}:{conn.laddr.port}")
    print(f"Zdalny adres: {conn.raddr.ip}:{conn.raddr.port}" if conn.raddr else "Zdalny adres: N/A")
    print(f"Status: {conn.status}")
    print(f"PID: {conn.pid}")
 
# Pobieranie adresów IP interfejsów sieciowych
net_if_addrs = psutil.net_if_addrs()
for interface, addrs in net_if_addrs.items():
    print(f"Interfejs: {interface}")
    for addr in addrs:
        if addr.family == psutil.AF_INET:
            print(f"  IPv4: {addr.address}")
        elif addr.family == psutil.AF_INET6:
            print(f"  IPv6: {addr.address}")     
  • programowanie/python/psutil.txt
  • ostatnio zmienione: 2024/10/18 15:51
  • przez sases