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

Reply via email to