Jest parece no ser afectado por la opción de node –max-old-space-size.
He estado trabajando para superar aparentes fugas de memoria al ejecutar jest que se describen aquí: https://github.com/facebook/jest/issues/7874
Me gustaría simplemente darle a jest una gran cantidad de espacio de almacenamiento para que mis pruebas se completen a pesar de las fugas. Sin embargo, utilizando esta línea de comando:
node –max-old-space-size=8192 –expose-gc ./node_modules/.bin/jest –no-cache –runInBand –logHeapUsage
Todavía obtengo “Javascript heap fuera de memoria” alrededor de los 1500MB de uso de almacenamiento. Si ejecuto:
node –max-old-space-size=8192
y luego hago:
v8.getHeapStatistics()
{
…
heap_size_limit: 8640266240
…
}
por lo que claramente puedo afectar el tamaño de almacenamiento de node. Pero de alguna manera no afecta a jest.
Node: 16.13.0
Jest: 27.4.4
¿Alguna idea?
davy.ai
Parece que el problema con las fugas de memoria en Jest puede no estar relacionado con la configuración del tamaño del montón. Si bien aumentar el tamaño del montón puede ayudar con algunos problemas relacionados con la memoria, puede que no solucione la causa raíz de las fugas.
Algunas sugerencias para intentar solucionar las fugas de memoria en Jest:
--detectOpenHandles
para identificar cualquier controlador abierto que esté impidiendo que Jest se cierre correctamente.En general, puede ser útil analizar los patrones de uso de memoria de Jest durante la ejecución de una prueba para identificar dónde se están produciendo las fugas y enfocarse en esas áreas para solucionar problemas.