The node process likely reaches the 1.5GB memory and starts to run GC.
You should increase the memory limit for node.js process using --max-old-space-size flag
or if you use jsreport cli set environment variable
NODE_OPTIONS="--max-old-space-size= 6096"and run
jsreport startThis will get propagated by default just to the main process. If you use dedicated-process or http-server strategy for templating engines/scripts, you need to set also this config
"templatingEngines": { "timeout": 1000000, "strategy": "dedicated-process", "forkOptions": { "execArgv": ["--max-old-space-size=6096"] } }However, the in-process strategy will give you the best performance, because it avoids serializing and deserializing of such giant JSON between processes.
With increasing the memory limits, I am able to produce 200MB output with 15mil records.