Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Limit RAM usage with a config option? #68

Open
Wizek opened this issue Jan 18, 2016 · 2 comments
Open

Limit RAM usage with a config option? #68

Wizek opened this issue Jan 18, 2016 · 2 comments
Labels

Comments

@Wizek
Copy link

Wizek commented Jan 18, 2016

Hello,

I really quite like the many of the concepts in acid-state. But I am reluctant to use it (e.g. for server applications) because I know it needs to keep all data in RAM all the time. And while the server might not have many users -- if it happens that it does have later on, RAM might become an issue, I am concerned.

Would it be possible to configure acid-state in such a way to tell it "Use at most 2 GB of RAM and not a bit more!"? And what I would expect acid-state to do when it reaches 2GB is to drop the least accessed bits from memory at once, and re-read them from disk iff/when they are accessed from other parts of the code, on demand.

Would this be possible? And if so, could this be implemented easily?

@lemmih
Copy link
Member

lemmih commented Jan 19, 2016

This is the same as swapping, isn't it? I don't think it can be done without killing the performance.

@stepcut
Copy link
Member

stepcut commented May 31, 2016

We have casually discussed the idea of using something like mmap to allow developers to control what is currently in memory and what is currently on disk. Or perhaps something like pipes to stream records from disk.

However, making that work is almost certainly a pretty significant project. We need a masters student looking for a thesis I think :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants