- Minor
After installing Netdata (docker) it was triggering a warning that "App group dhcp file descriptors utilization" was 500% of the process limits. Upon checking, I found:
# ps aux |grep dhcpcd
dhcpcd 8429 0.0 0.0 3036 1772 ? S 15:36 0:00 dhcpcd: br0 [ip4]
root 8430 0.0 0.0 3060 2188 ? S 15:36 0:00 dhcpcd: [privileged proxy] br0 [ip4]
dhcpcd 8431 0.0 0.0 3036 272 ? S 15:36 0:00 dhcpcd: [control proxy] br0 [ip4]
dhcpcd 8487 0.0 0.0 3048 320 ? S 15:36 0:00 dhcpcd: [BPF ARP] br0 192.168.1.5
dhcpcd 8583 0.0 0.0 3060 324 ? S 15:36 0:00 dhcpcd: [network proxy] 192.168.1.5
# pstree -p 8429
dhcpcd(8429)─┬─dhcpcd(8430)─┬─dhcpcd(8487)
│ └─dhcpcd(8583)
└─dhcpcd(8431)
# for pid in $(pgrep dhcpcd); do grep '^Max open files' /proc/$pid/limits; done
Max open files 5 5 files
Max open files 40960 40960 files
Max open files 40960 40960 files
Max open files 2 2 files
Max open files 2 2 files
I found that ulimit -n 40960 is set in /etc/initscript. But couldn't figure out why the child procs have such a low limit. Looking at /etc/rc.d/rc.inet1 didn't reveal anything unusual. I attempted to manually set the limit in /etc/security/limits.conf and added pam_limits.so to my /etc/pam.d/{login, sshd}. No change. I modified rc.inet1 and set the ulimit in the run() function, but that only changed the limits for the procs with 40960, the others remained 5 and 2. I ran out of ideas, as I think to further figure this out would require debugging with strace and looking for setrlimit.
In any case, I resorted to using prlimit to set them after the fact. Here's my modified rc.inet1 that does this (in the start function). I'm open to other ideas to try to help figure out this problem. I searched and found other users having this problem with Unraid (and some other software) but no solutions.
Edit: strace didn't reveal any setrlimit() calls