microsoft / microsoft/mimalloc
Need guidelines around max memory usage
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.4k
- Forks
- 1.2k
- Avg merge
- 4d 45m
- Merged PRs (30d)
- 13
Description
This is related to #383 and #351 although in this case I'm looking more for guidance than a fix. I understand that mimalloc may overallocate and hold onto RSS after the memory is freed and so a system will need more RAM available to avoid running out of memory.
However, it is not very clear to me exactly how much RAM I will need. I am using mimalloc through Apache Arrow. In some cases, when processing an 8GB dataset, the RSS will grow to 27GB. This has made it difficult to figure out what kind of server we need to purchase / configure even though the size of our data is known. It will be even more difficult for more sophisticated approaches (such as a server that delays requests until the server has enough RAM to process them, ensuring OOM errors are avoided).
It's possible this behavior is a bug or some kind of bad scenario that can be avoided (I'm going to work through the suggestions in #351). However, even if that is the case, I would still like to have a better idea of the maximum amount of RAM that I can expect mimalloc to use.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the related issues #383 and #351, then review the documented mimalloc behavior relevant to RSS retention and over-allocation. Determine whether the project can state useful maximum-memory guidance for an 8GB workload, and document the conditions and limitations clearly enough to guide server sizing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- performance
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100