$ cd ../
CPU Scheduler Analyzer — bash

user@devops:~$ cat README.md

CPU Scheduler Analyzer

# Descrição

CPU Scheduler Analyzer e um analisador completo do escalonador de CPU do Linux que inspeciona a topologia de processadores, frequencias de scaling e politicas de escalonamento de processos. Desenvolvido em C++23 com CLI11 para analise de argumentos, nlohmann_json para saida JSON estruturada, e spdlog para logging. Le informacoes de /proc/cpuinfo (modelo, nucleos, siblings, pacote fisico), /sys/devices/system/cpu/cpu*/cpufreq/ (governor, frequencia atual/minima/maxima), /proc/stat (uso de CPU por nucleo e total), /proc/[pid]/stat (politica de escalonamento, prioridade, nice, estado) e /sys/devices/system/node/ (topologia NUMA com CPUs e memoria). Inclui flags de selecao por categoria (--cpu, --freq, --usage, --sched, --numa), saida JSON para integracao com scripts, modo legenda (--legend) com explicacao de politicas, e numero configuravel de processos (--max-pids). Arquitetura library/executable com testes unitarios em Catch2.

# Características principais

$ Topologia CPU: modelo, cores, siblings, pacote fisico com formato tabular

$ Frequencia CPU: governor atual, frequencias min/max/atual de cada nucleo em MHz

$ Uso CPU: leituras de /proc/stat por nucleo com valores user/nice/system/idle/iowait/irq/softirq/steal

$ Escalonamento de processos: politica (SCHED_OTHER/FIFO/RR/BATCH/IDLE/DEADLINE), prioridade, nice, estado, CPU ticks

$ Topologia NUMA: nos, CPUs associadas, memoria total e livre com formato tabular

$ Saida JSON (--json) para integracao com scripts e ferramentas de monitoramento

$ Flags de selecao por categoria e legenda de politicas de escalonamento

# Galeria

Vista desktop
CPU Scheduler Analyzer - Vista desktop
Vista mobile
CPU Scheduler Analyzer - Vista mobile

# Tecnologias utilizadas

C++23 CLI11 nlohmann_json spdlog Catch2
Hermes Agent