Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

dhcpcd spawns child proc with low max open fds

  • 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

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.