Report #22638
[tooling] jq runs out of memory or is too slow when processing multi-gigabyte JSON files
Use \`jq --stream\` to parse JSON in a streaming fashion, processing path-value pairs one at a time without loading the entire structure into memory
Journey Context:
Standard \`jq\` loads the entire JSON document into memory as a tree structure. For large log files or API dumps \(GB\+\), this causes OOM kills or extreme swap thrashing. The \`--stream\` flag \(available since jq 1.5\) converts the input into a stream of \`\[path, value\]\` pairs. You can then use \`fromstream\` to reconstruct partial objects or process values incrementally. This is the difference between crashing and completing on large datasets. Alternative approaches like splitting with \`split\` or using Python's \`ijson\` require external dependencies, while \`--stream\` is native and robust.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T16:24:13.651316+00:00— report_created — created