$ cd ../
CPU Scheduler Analyzer — bash

user@devops:~$ cat README.md

CPU Scheduler Analyzer

# Descripción

CPU Scheduler Analyzer es un analizador completo del planificador de CPU de Linux que inspecciona la topología de procesadores, frecuencias de escalado y políticas de planificación de procesos. Desarrollado en C++23 con CLI11 para el parsing de argumentos, nlohmann_json para salida JSON estructurada, y spdlog para logging. Lee información de /proc/cpuinfo (modelo, núcleos, siblings, paquete físico), /sys/devices/system/cpu/cpu*/cpufreq/ (governor, frecuencia actual/mínima/máxima), /proc/stat (uso de CPU por núcleo y total), /proc/[pid]/stat (política de planificación, prioridad, nice, estado) y /sys/devices/system/node/ (topología NUMA con CPUs y memoria). Incluye flags de selección por categoría (--cpu, --freq, --usage, --sched, --numa), salida JSON para integración con scripts, modo leyenda (--legend) con explicación de políticas, y número configurable de procesos a mostrar (--max-pids). Arquitectura library/executable con tests unitarios en Catch2.

# Características principales

$ Topología CPU: modelo, cores, siblings, paquete físico con formato tabular

$ Frecuencia CPU: governor actual, frecuencias min/max/actual de cada núcleo en MHz

$ Uso CPU: lecturas de /proc/stat por núcleo con valores user/nice/system/idle/iowait/irq/softirq/steal

$ Planificación de procesos: política (SCHED_OTHER/FIFO/RR/BATCH/IDLE/DEADLINE), prioridad, nice, estado, CPU ticks

$ Topología NUMA: nodos, CPUs asociadas, memoria total y libre con formato tabular

$ Salida JSON (--json) para integración con scripts y herramientas de monitoreo

$ Flags de selección por categoría y leyenda de políticas de planificación

# Galería

Vista escritorio
CPU Scheduler Analyzer - Vista escritorio
Vista móvil
CPU Scheduler Analyzer - Vista móvil

# Tecnologías utilizadas

C++23 CLI11 nlohmann_json spdlog Catch2