microsoft / microsoft/mimalloc

Need guidelines around max memory usage

Open
#393 2 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.