Cómo determinar el consumo de CPU y memoria desde dentro del proceso en C++?
¡Hola a todos! Llevo aproximadamente un año programando en C++ y me he encontrado con una tarea que me ha dejado perplejo. Necesito que mi programa (un servidor para procesamiento de imágenes) monitoree en tiempo real cuánta memoria y CPU consume. El problema es que no entiendo cómo obtener estos datos desde dentro del propio proceso.
Por ejemplo, quiero registrar algo como: "Consumo máximo de memoria: 150 MB, carga de CPU: 45%". Intenté usar variables simples como `sizeof()` para objetos, pero esto no da una imagen real, ya que la memoria se asigna en el heap, además hay gastos generales de pila y recursos del sistema. Con la CPU es aún más complicado: puedo medir el tiempo de ejecución de un fragmento de código con `clock()`, pero ese tiempo es solo de mi hilo, no de todo el programa, y no considera el tiempo de espera de E/S.
Por favor, indíquenme si hay una forma estándar o bibliotecas que permitan obtener estas métricas desde dentro del proceso. Preferiblemente multiplataforma, pero al menos para Linux y Windows. Adjunto
No answers yet.
Inicia sesión para dejar una respuesta