Tiny Core Base > TCB Bugs
Udevadm trigger spawns hundreds of processes
andyj:
Why does this happen?
--- Code: ---tc@box:~$ sudo udevadm trigger ; sleep 1; ps faux | cut -c 65-
COMMAND
[kthreadd]
\_ [kworker/0:0]
\_ [kworker/0:0H]
\_ [mm_percpu_wq]
\_ [ksoftirqd/0]
\_ [rcu_sched]
\_ [rcu_bh]
\_ [migration/0]
\_ [cpuhp/0]
\_ [cpuhp/1]
\_ [migration/1]
\_ [ksoftirqd/1]
\_ [kworker/1:0H]
\_ [cpuhp/2]
\_ [migration/2]
\_ [ksoftirqd/2]
\_ [kworker/2:0]
\_ [kworker/2:0H]
\_ [cpuhp/3]
\_ [migration/3]
\_ [ksoftirqd/3]
\_ [kworker/3:0H]
\_ [netns]
\_ [kworker/0:1]
\_ [oom_reaper]
\_ [writeback]
\_ [kcompactd0]
\_ [ksmd]
\_ [khugepaged]
\_ [crypto]
\_ [kintegrityd]
\_ [kblockd]
\_ [ata_sff]
\_ [devfreq_wq]
\_ [watchdogd]
\_ [rpciod]
\_ [xprtiod]
\_ [kswapd0]
\_ [nfsiod]
\_ [kworker/3:1]
\_ [kworker/1:1]
\_ [kworker/2:1]
\_ [acpi_thermal_pm]
\_ [scsi_eh_0]
\_ [scsi_tmf_0]
\_ [vmw_pvscsi_wq_0]
\_ [nvme-wq]
\_ [scsi_eh_1]
\_ [scsi_tmf_1]
\_ [scsi_eh_2]
\_ [scsi_tmf_2]
\_ [scsi_eh_3]
\_ [scsi_tmf_3]
\_ [scsi_eh_4]
\_ [scsi_tmf_4]
\_ [scsi_eh_5]
\_ [scsi_tmf_5]
\_ [scsi_eh_6]
\_ [scsi_tmf_6]
\_ [scsi_eh_7]
\_ [scsi_tmf_7]
\_ [scsi_eh_8]
\_ [scsi_tmf_8]
\_ [scsi_eh_9]
\_ [scsi_tmf_9]
\_ [scsi_eh_10]
\_ [scsi_tmf_10]
\_ [scsi_eh_11]
\_ [scsi_tmf_11]
\_ [scsi_eh_12]
\_ [scsi_tmf_12]
\_ [scsi_eh_13]
\_ [scsi_tmf_13]
\_ [scsi_eh_14]
\_ [scsi_tmf_14]
\_ [scsi_eh_15]
\_ [scsi_tmf_15]
\_ [scsi_eh_16]
\_ [scsi_tmf_16]
\_ [scsi_eh_17]
\_ [scsi_tmf_17]
\_ [scsi_eh_18]
\_ [scsi_tmf_18]
\_ [scsi_eh_19]
\_ [scsi_tmf_19]
\_ [scsi_eh_20]
\_ [scsi_tmf_20]
\_ [scsi_eh_21]
\_ [scsi_tmf_21]
\_ [scsi_eh_22]
\_ [scsi_tmf_22]
\_ [scsi_eh_23]
\_ [scsi_tmf_23]
\_ [scsi_eh_24]
\_ [scsi_tmf_24]
\_ [scsi_eh_25]
\_ [scsi_tmf_25]
\_ [scsi_eh_26]
\_ [scsi_tmf_26]
\_ [scsi_eh_27]
\_ [scsi_tmf_27]
\_ [scsi_eh_28]
\_ [scsi_tmf_28]
\_ [scsi_eh_29]
\_ [scsi_tmf_29]
\_ [scsi_eh_30]
\_ [scsi_tmf_30]
\_ [scsi_eh_31]
\_ [scsi_tmf_31]
\_ [scsi_eh_32]
\_ [scsi_tmf_32]
\_ [vfio-irqfd-clea]
\_ [kstrp]
\_ [kworker/3:3]
\_ [jbd2/sda1-8]
\_ [ext4-rsv-conver]
\_ [kworker/1:2]
\_ [kworker/0:1H]
\_ [kworker/2:1H]
\_ [kworker/3:1H]
\_ [kworker/1:1H]
\_ [ttm_swap]
\_ [irq/16-vmwgfx]
\_ [kworker/u128:0]
\_ [kworker/u128:2]
\_ [kworker/u128:1]
\_ [kworker/u128:3]
/sbin/init
/sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0A05:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0700:
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C02:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0A05:
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0A05:
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [udevd]
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe] <defunct>
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0A05:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ [modprobe]
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
| \_ /sbin/modprobe -bv acpi:PNP0C80:
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
\_ /sbin/udevd --daemon
/sbin/syslogd
/sbin/klogd
vmware-vmblock-fuse -o subtype=vmware-vmblock,default_permissions,allow_other /var/run/vmblock-fuse
/usr/local/bin/vmtoolsd
-sh
vmhgfs-fuse /mnt/hgfs
/usr/local/lib/xorg/Xorg -nolisten tcp
flwm_topside
/sbin/udhcpc -b -i eth0 -x hostname:box -p /var/run/udhcpc.eth0.pid
/usr/local/bin/vmtoolsd -n vmusr --blockFd 3
wbar
\_ urxvt
\_ sh
\_ ps faux
\_ cut -c 65
dbus-launch --autolaunch 03b81d633b3551dd19f589bb5a57dd34 --binary-syntax --close-stderr
/usr/local/bin/dbus-daemon --syslog-only --fork --print-pid 5 --print-address 7 --session
/usr/local/lib/at-spi2-core/at-spi-bus-launcher
\_ /usr/local/bin/dbus-daemon --config-file=/usr/local/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
/usr/local/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
--- End code ---
Sometimes there's so many that my VM won't boot, or it crashes when loading certain extensions. I had to bump it to 8 gigs. This is on 64-bit, 8.x and now 9 alpha.
curaga:
IIRC it spawns a child to handle each event that may need further processing, and there's a limit to how many it spawns at once. On 32-bit I remember we lowered the limit to keep the minimum RAM requirement low.
However, the default limit is not that high, and each udevd fork takes only hundreds of kb of RAM. For you to need gigs, something else must be off.
andyj:
Could we add:
--- Code: ---/sbin/udevadm control --children-max=12
--- End code ---
to /etc/init.d/tc-config after line 107 where udevd is started? I don't have a good reason for picking 12, other than it seemed like a good place to start.
curaga:
The default is 128 and on 32-bit we lowered it to 28. On the command, I'd much rather have it straight in the udev binary, spawning a process every boot will cause slowdown, even if tiny, and this can be "baked in".
edit: Looking at my patch, each udev worker used 180kb of RAM on 32-bit. Even if we conservatively double that for 64-bit, it's not possible for it to need gigs.
andyj:
Why would the process limit for 64-bit be any different, and where does 28 come from?
Navigation
[0] Message Index
[#] Next page
Go to full version