Skip to content

System Resource Usage

Below is a sample code snippet that retrieves and displays system resource usage of memory, disk, and GPU statistics. This helps you monitor available system resources at a glance:

  • Memory: Reports total, free, and percentage of free memory.
  • Disk: Reports total, free, and percentage of free disk space.
  • GPU: Shows detailed GPU memory usage (used, reserved, total).
from practicuscore.util import Stats

total_mem, used_mem = Stats.get_memory_stats()

free_mem = total_mem - used_mem
gb = 1024**3
total_mem_gb = round(total_mem / gb, 2)
free_mem_gb = round(free_mem / gb, 2)
free_mem_percent = round(free_mem/total_mem*100, 2)

print(f"Worker RAM : {total_mem_gb} GB")
print(f"Free RAM : {free_mem_gb} GB ({free_mem_percent}%)\n")

total_disk, free_disk = Stats.get_disk_stats()

total_disk_gb = round(total_disk / gb, 2)
free_disk_gb = round(free_disk / gb, 2)
free_disk_percent = round(free_disk/total_disk*100, 2)

print(f"Worker Disk : {total_disk_gb} GB")
print(f"Free Disk : {free_disk_gb} GB ({free_disk_percent}%)")

print("Note: The above views the physical disk capacity of the node.")
print("The ephemeral disk capacity that your admin allowed for this Worker can be lower.\n")

try:
    gpu_stats = Stats.get_gpu_stats()
    for gpu_id, (used, reserved, total) in enumerate(gpu_memory):
        print(f"GPU usage for gpu: {gpu_id} used: {used} reserved: {reserved} total: {total}")                        
except:
    print("No GPUs detected")

Previous: Share Workers | Next: Create Virtual Envs