Skip to content

Conversation

@PallHaraldsson
Copy link
Contributor

This seems like a sensible followup to #46792

It's untested, I just used the github editor... and I don't know the optimal value, this just seemed sensible.

This seems like a sensible followup to JuliaLang#46792

It's untested, I just used the github editor... and I don't know the optimal value, this just seemed sensible.
@KristofferC
Copy link
Member

Why not just set it to 640kB? That ought to be enough for anybody.

@PallHaraldsson
Copy link
Contributor Author

PallHaraldsson commented Oct 1, 2022

I believe this isn't a hard max, so nothing to worry, it would use more than 1 GB, just with more aggressive GC, if 1GB+ is really needed.

Gates denies that supposed quote:
https://www.computerworld.com/article/2534312/the--640k--quote-won-t-go-away----but-did-gates-really-say-it-.html

Bill Gates denies making 1981 comment about limits of RAM needs, despite popular legend

"There is no reason for any individual to have a computer in his home." (Olsen did actually say that, but he said later that the quote was taken out of context, and that he was referring not to PCs but to computers set up to control houses.)

@oscardssmith
Copy link
Member

imo, this is the wrong solution. going above the memory threshold will result in frequent full GCs, so it is probably better in this situation to kill the process ourselves (and deal with the cleanup so everything still precompiles successfully) to reduce memory pressure.

@PallHaraldsson
Copy link
Contributor Author

It might be better, I just don't know how to do that, and what I did in the PR was simple enough. How bad would "frequent full GCs" be, only dragging compilation out? Also, I'm not sure how often this would happen, 1 GB seems like a lot to compile one package? If you merge this, a different approach could be found later, and this switched out.

Some or all "failing" checks seem like false alarms, at least I can't relate to my change:

spawn                                            (7) |         failed at 2022-10-01T08:25:59.255
Error During Test at C:\buildbot\worker-tabularasa\tester_win64\build\share\julia\test\testdefs.jl:21
  Got exception outside of a @test
  LoadError: RequestError: HTTP/1.1 502 Bad Gateway while requesting https://cache.julialang.org/https://frippery.org/files/busybox/busybox.exe
[..]
┌ Error: A "spawn and wait lots of tasks" test failed
│   n = 2000000
│   proc.exitcode = 3221225477
[..]

and:

Whitespace check found 1 issues:
base/loading.jl:1688 -- trailing whitespace
make: *** [Makefile:106: check-whitespace] Error 1
🚨 Error: The command exited with status 2

@vtjnash
Copy link
Member

vtjnash commented Oct 3, 2022

It might be somewhat sensible to set this to 1/n-th of the current limit. Currently each Distributed process ignores any hinted limits for the parent (since the implementation PR did not add that to julia_cmd)

@KristofferC
Copy link
Member

Putting a semi-random value here is clearly not something workable so I'll close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants