""" Memory usage monitoring utilities. """ import os import logging import psutil from typing import Dict # Configure logging logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) logger = logging.getLogger(__name__) def get_memory_usage() -> Dict[str, float]: """ Get current memory usage statistics. Returns: Dictionary with RAM usage in GB and percentage """ # Get system memory info process = psutil.Process(os.getpid()) memory_info = process.memory_info() ram_usage = memory_info.rss / 1024**3 # Convert to GB return { "ram_gb": ram_usage, "gpu_gb": 0, # No GPU usage tracking without torch "ram_percent": ram_usage / 16 * 100, # Based on 16GB available } def log_memory_usage(): """Log current memory usage.""" memory_info = get_memory_usage() logger.info(f"Memory usage: {memory_info['ram_gb']:.2f} GB ({memory_info['ram_percent']:.1f}%)") return memory_info