Idle Home uses about a third of a CPU core

Abierto
#541 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
46/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
rust
Área
performance

Línea de trabajo

The issue reports CPU use by six tokio-rt-worker threads but does not identify the busy tasks. First verify the second Home's installed binary and launch method from target evidence, then profile an idle Home on Linux and Mac with Rust symbols or a Tokio task dump. Record the source or installed receipt, sample duration, and CPU intensive loops; done when an idle Home stays under 2% of one core over five minutes on the Jetson.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

An idle Home keeps about a third of a CPU core busy, which slows small hosts such as the Jetson (and drains laptop batteries).

Measured on the Jetson (5 Nov, ssh elastos-jetson):

  • elastos-agent's Home (elastos home --browser, 2.0.0-era build, up 3 days, nobody signed in): 36.13% of one core over 60.06 s, from /proc/74438/task/*/stat. Six tokio-rt-worker threads (TIDs 74439-74444) account for 34.48%; the main thread 0%.
  • Anders's own Home on the same Jetson (elastos serve, 2.0.0, up 3 days): 47% of one core averaged over its lifetime (ps -o pcpu).

Thread names cannot tell which async task is busy. Next: profile an idle Home (perf with Rust symbols, or a tokio task dump) on Linux and on a Mac, name the loops (polling, Carrier gossip, timers, provider health checks) and fix the largest. Acceptance: an idle Home under 2% of one core over 5 minutes on the Jetson, measured the same way.

Next measurement

The start method for the second measured Home is still unverified. Main owns identifying the installed binary and launch method from target evidence, then collecting an idle profile under the existing device lease. Record the source or installed receipt, the sample duration, and the loops that use CPU. Use the same five-minute sampling method for the acceptance run on Jetson. A launcher-managed Home gives Main a reproducible setup for a future run.

Lenguaje dominante
Rust
Estrellas
6
Forks
2
Merge medio
1 d 3 h
PR fusionados (30 d)
42

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de elastos/elastos-runtime

Todos los issues de elastos/elastos-runtime

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.