GitHub Runner toma 2x RAM física: ¿cuál es la solución?

GitHub Runner toma 2x RAM física: ¿cuál es la solución?

He tenido 4 fallas en los servidores AWS ERP debido a que la memoria aparentemente se está agotando y el sistema esencialmente muere con 100% de CPU y sin [poca] RAM disponible.

Ubuntu 18.04.5 LTS (GNU/Linux 5.4.0-1060-aws x86_64) (AWS AMI)

Esto ocurrió tres veces en medio de una acción de GitHub. La acción fue realizar una importación de base de datos y luego una notificación de inactividad. Por lo tanto, se podría pensar que fue uno de estos pasos el que causó el problema, pero, curiosamente, todos los pasos se completaron normalmente. La base de datos estaba bien y se envió la notificación de inactividad.

El propio GitHub perdió la conexión con el corredor y la memoria virtual se disparó incluso después de que se completó la acción.

La cuarta vez esto sucedió mientras NADA se estaba ejecutando. De hecho, el servidor estaba inactivo y no pasaba nada. Sin embargo, no tengo ningún registro ni capturas de pantalla "principales" de ESO, pero una vez lo vi en el acto:

Imagen de la pantalla SUPERIOR

Entonces el sistema es una máquina virtual AWS con 4G de RAM. Tenga en cuenta que creo que el SI que configuró este sistema lo configuró para que no haya espacio de intercambio. Podría decirse que esto es correcto [muy posiblemente] para un servidor, en el sentido de que si hay una pérdida de memoria, desea que el sistema informe sobre la falta de memoria y tome medidas correctivas, ya que con una pérdida de memoria eventualmente morirá de todos modos.

A corto plazo, me pidieron que duplicara la RAM. Esto es algo innecesario ya que es un sistema con una carga muy liviana (normalmente se ejecuta con solo 2 G de RAM en uso cuando se realiza un trabajo por lotes pesado) y, francamente, si GitHub Runner.Worker alcanza un máximo de 7 GB de RAM en un sistema de 4 GB, ¿por qué? ¿No alcanzaría un máximo de 16 GB de RAM en una máquina virtual de 8 GB? Pero veremos si vuelve a fallar. No soy reacio a cambiar la configuración de intercambio de TFG, pero no estoy seguro de que sea una solución.

Informé esto a GitHub, pero después de más de 3 semanas de inacción pensé en consultar aquí y ver si alguien tiene alguna idea o solución.

Gracias,

== Juan ==

información relacionada