Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upPrometheus/TSDB doesn't unmap opened chunks/index??? #5426
Comments
This comment has been minimized.
This comment has been minimized.
|
Actually, looks like there is an abnormal behaviour in the logs:
Prometheus tried to compact the same time range again and again until it crashed like this:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
pborzenkov commentedApr 2, 2019
Bug Report
I've seen a Prometheus crash due to
fatal error: runtime: cannot allocate memoryin go runtime:I started the investigation after Prometheus restart and the crash is most likely due to vm_area exhaustion:
It looks like Prometheus doesn't call
munmapon mmaped chunks/index at all (straced the process for ~5 min while doing different queries):And the same blocks are mmaped multiple times, for example:
While TSDB handles ENOMEM gracefully, go runtime will crash if it can't mmap additional memory region due to vm_area limit.
Environment
No errors or indication of abnormal behaviour in the logs.