I've been using a docker container (either debian or alpine based) to
build openwrt on my Arch system :)
OpenWRT pulls and builds fakeroot to do stuff with, but both containers
choke in some form.
The debian based container launches 1 faked 100% process at a time, and
takes forever to do things (but finishes eventually). A 'build' takes
about 30 - 60 minutes.
```
buildbot@99419141cf36:/workdir$ cat /proc/sys/fs/file-max
9223372036854775807
buildbot@99419141cf36:/workdir$ cat /proc/sys/fs/nr_open
1073741816
buildbot@99419141cf36:/workdir$ ulimit
unlimited
buildbot@99419141cf36:/workdir$ ulimit -Hn
1073741816
buildbot@99419141cf36:/workdir$
```
On alpine (the same numbers) faked also gets lauched, and also takes
100% CPU on a single core, but for some reason on alpine I see dozens of
faked processes launched. Not sure how they related. Builds finish in 10
or so minutes, so at least that's not so bad.
On my host, with systemd, I get far different numbers
```
% cat /proc/sys/fs/file-max
9223372036854775807
% cat /proc/sys/fs/nr_open
1073741816
% ulimit -Hn
524288
% ulimit
unlimited
```
I'll find out if I can set ulimit during container creation/start to
workaround the issue, but it's still quite annoying.
The reason for the ping/follow up? There where some good suggestions in
this thread earlier, as having to close 524288 file descriptors isn't as
bad as a billion, its still quite a lot of wasted resources for nothing.
Think of the tree's ;)
Olliver