Issue
Code backup
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
#Python3
|
||||
|
||||
import psutil
|
||||
import platform
|
||||
from datetime import datetime
|
||||
|
||||
def get_size(bytes, suffix="B"):
|
||||
factor = 1024
|
||||
for unit in ["", "K", "M", "G", "T", "P"]:
|
||||
if bytes < factor:
|
||||
return f"{bytes:.2f}{unit}{suffix}"
|
||||
bytes /= factor
|
||||
|
||||
# System Info
|
||||
print("="*40, "System Information", "="*40)
|
||||
uname = platform.uname()
|
||||
print(f"System: {uname.system}")
|
||||
print(f"Node Name: {uname.node}")
|
||||
print(f"Release: {uname.release}")
|
||||
print(f"Version: {uname.version}")
|
||||
print(f"Machine: {uname.machine}")
|
||||
print(f"Processor: {uname.processor}")
|
||||
|
||||
# Boot Time
|
||||
print("="*40, "Boot Time", "="*40)
|
||||
boot_time_timestamp = psutil.boot_time()
|
||||
bt = datetime.fromtimestamp(boot_time_timestamp)
|
||||
print(f"Boot Time: {bt.year}/{bt.month}/{bt.day} {bt.hour}:{bt.minute}:{bt.second}")
|
||||
|
||||
# let's print CPU information
|
||||
print("="*40, "CPU Info", "="*40)
|
||||
|
||||
# number of cores
|
||||
print("Physical cores:", psutil.cpu_count(logical=False))
|
||||
print("Total cores:", psutil.cpu_count(logical=True))
|
||||
|
||||
# CPU frequencies
|
||||
cpufreq = psutil.cpu_freq()
|
||||
print(f"Max Frequency: {cpufreq.max:.2f}Mhz")
|
||||
print(f"Min Frequency: {cpufreq.min:.2f}Mhz")
|
||||
print(f"Current Frequency: {cpufreq.current:.2f}Mhz")
|
||||
|
||||
# CPU usage
|
||||
print("CPU Usage Per Core:")
|
||||
for i, percentage in enumerate(psutil.cpu_percent(percpu=True, interval=1)):
|
||||
print(f"Core {i}: {percentage}%")
|
||||
print(f"Total CPU Usage: {psutil.cpu_percent()}%")
|
||||
|
||||
# Memory Information
|
||||
print("="*40, "Memory Information", "="*40)
|
||||
|
||||
# get the memory details
|
||||
svmem = psutil.virtual_memory()
|
||||
print(f"Total: {get_size(svmem.total)}")
|
||||
print(f"Available: {get_size(svmem.available)}")
|
||||
print(f"Used: {get_size(svmem.used)}")
|
||||
print(f"Percentage: {svmem.percent}%")
|
||||
print("="*20, "SWAP", "="*20)
|
||||
|
||||
# get the swap memory details (if exists)
|
||||
swap = psutil.swap_memory()
|
||||
print(f"Total: {get_size(swap.total)}")
|
||||
print(f"Free: {get_size(swap.free)}")
|
||||
print(f"Used: {get_size(swap.used)}")
|
||||
print(f"Percentage: {swap.percent}%")
|
||||
|
||||
# Disk Information
|
||||
print("="*40, "Disk Information", "="*40)
|
||||
print("Partitions and Usage:")
|
||||
|
||||
# get all disk partitions
|
||||
partitions = psutil.disk_partitions()
|
||||
for partition in partitions:
|
||||
print(f"=== Device: {partition.device} ===")
|
||||
print(f" Mountpoint: {partition.mountpoint}")
|
||||
print(f" File system type: {partition.fstype}")
|
||||
try:
|
||||
partition_usage = psutil.disk_usage(partition.mountpoint)
|
||||
except PermissionError:
|
||||
# this can be catched due to the disk that
|
||||
# isn't ready
|
||||
continue
|
||||
print(f" Total Size: {get_size(partition_usage.total)}")
|
||||
print(f" Used: {get_size(partition_usage.used)}")
|
||||
print(f" Free: {get_size(partition_usage.free)}")
|
||||
print(f" Percentage: {partition_usage.percent}%")
|
||||
|
||||
# get IO statistics since boot
|
||||
disk_io = psutil.disk_io_counters()
|
||||
print(f"Total read: {get_size(disk_io.read_bytes)}")
|
||||
print(f"Total write: {get_size(disk_io.write_bytes)}")
|
||||
|
||||
# Network information
|
||||
print("="*40, "Network Information", "="*40)
|
||||
|
||||
# get all network interfaces (virtual and physical)
|
||||
if_addrs = psutil.net_if_addrs()
|
||||
for interface_name, interface_addresses in if_addrs.items():
|
||||
for address in interface_addresses:
|
||||
print(f"=== Interface: {interface_name} ===")
|
||||
if str(address.family) == 'AddressFamily.AF_INET':
|
||||
print(f" IP Address: {address.address}")
|
||||
print(f" Netmask: {address.netmask}")
|
||||
print(f" Broadcast IP: {address.broadcast}")
|
||||
elif str(address.family) == 'AddressFamily.AF_PACKET':
|
||||
print(f" MAC Address: {address.address}")
|
||||
print(f" Netmask: {address.netmask}")
|
||||
print(f" Broadcast MAC: {address.broadcast}")
|
||||
|
||||
# get IO statistics since boot
|
||||
net_io = psutil.net_io_counters()
|
||||
print(f"Total Bytes Sent: {get_size(net_io.bytes_sent)}")
|
||||
print(f"Total Bytes Received: {get_size(net_io.bytes_recv)}")
|
||||
Reference in New Issue
Block a user