-
Notifications
You must be signed in to change notification settings - Fork 1k
Extreme parallelism used for subcommands bombs Raspberry Pi out of memory #1689
Comments
#431 will improve the situation for subsequent runs, but there is still value in some sort of external processes limit. I will look into how the mechanism in code might work. My gut is to use some sort of environment var, e.g. |
|
I should have a PR up tonight, but plumbing If you need a quick-fix until my solution is merged, nearly everything goes through |
PR is up, if you want to test the branch. |
@jmank88 I had the chance to test this branch on x86 and ARM (Raspberry Pi) tonight, and it worked as expected. I monitored with Thanks a bunch for your hard work. I read/skimmed the patch and it's pretty enormous. |
Dep was officially deprecated earlier this year, and the proposal to archive this repository was accepted. As such, I'm closing outstanding issues before archiving the repository. For any further comments, please use the proposal thread on the Go issue tracker. Thanks! |
What version of
dep
are you using (dep version
)?v0.4.1-34-g42f17824
What
dep
command did you run?dep ensure -v -update
on a Raspberry Pi Model 3 with 1GB of RAM.dep status
for my project has 61 lines of output.What did you expect to see?
I expected to see
dep ensure -v update
finish in a reasonable amount of time. On my x86 systems, the runtime is about 24 seconds. On the raspberry pi model 3, we're into 20 minutes+ territory if the system starts paging, or else the system runs out of memory completely.What did you see instead?
Super duper high load averages on the Raspberry pi, along with extremely high memory usage, resulting in paging, or total memory exhaustion.
This seems to be happening because
dep
is launching many dozens of git commands in parallel without regard for load on the machine or the size. My project has exceeded the size where this works.Here is an example from
pstree
wherein I caughtdep
in the middle of such a scan:My ask is for a switch to limit the parallelism, or a way to disable it entirely.
The text was updated successfully, but these errors were encountered: