-
Notifications
You must be signed in to change notification settings - Fork 41
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
OOM (Out of Memory) Issues #19
Comments
Maybe related: |
Wondering if:
Impact RAM usage and what is the balance, balanced value here for each Checker? Are defaults good for big projects? |
If this helps, there are my LL file sizes and occurences: https://github.com/marcinguy/public/blob/master/files-occurences-sizes.txt |
I get results for files under < 1 MB (ll files) on modern laptop (Core i5, 20 GB Ram), with bigger files I seem to get OOMs |
In our experience the parsing stage is kind of gross and slow. Yes the block and loop bound matter too. I'm not sure there is a bug here. You're asking good questions, but some of these I think you can take a stab at answering them and we'd be happy to incorporate documentation/findings |
Thanks. Would love to. Pity I never did anything in Haskell. Seems like |
@deian Can you give a hint how to run in on several cores only? Limited resources? So that it does not OOM that quickly? |
Aha! This is related to #4 --- @deian is right that we do the dumbest thing right now. If you bring down the block bound it should help, I'm guessing the loop bound should already be low. I can fix this in about three weeks (sorry! have been meaning to for a while!), otherwise what will help is (1) reducing the number of paths that static flags (2) reducing the block bound. |
Reduced the block bound to 1, not sure how to do (1) paths that static flags and where is it defined, but it still OOMs. The destination machine I work on have many cores/CPUs, trying to cap it to several cores ( Does Sys, Haskell starts one thread per core based on amount of cores? Memory should be shared between threads, but I guess with more cores, you will need more memory??? Speed will be faster with more cores, but you need more Memory. So I want to sacrifice speed for completeness (no OOMs). Is this assumption correct? |
Capping CPUs/cores in Docker seem to work, but Sys starts so many Threads as cores .... will see how this will work. Will update. |
Trying this ... will see if this helps.
Can make a PR to add this as an option to set number of threads vs getting cores amount. Not sure how to get it from command line parameter and pass it on. Here is my PR: |
Nah ... running it now with Bash to skip files when it OOMs and continue where it left off. On my side the issue is closed. Feel free to close if you wish. Thanks for your help. Looking forward to future improvements.
|
Hi,
experiencing some OOM issues while running in Docker on powerful box with 84 GB Ram.
Tried to set stack.yml
Is this setting it to one job? I see all CPU cores are in use ....
Anything else I can do to reduce memory usage, slow down the processing but avoid OOM?
How many threads is it actually starting? As many as cores? Can you reference some code link?
Sorry if this is little bit off topic/general, but there is little info about Haskell and your project, or is it me that is Haskell beginner. Those question can help folks running it.
Thanks,
The text was updated successfully, but these errors were encountered: