Every time I look at the logs from bootchart
, I notice a process called udevadm
that is mostly coloured as if it is a zombie process. It is accompanied by modprobe
, wait-for-root
and udevd
. They take up about 25% of my computer's boot time and nothing seems to be happening during this time according to the graphs above the process chart.
It would be nice if someone gave an explanation of these processes, what they do, why udevadm
is a zombie most of the time and why nothing appears to be happening in the time they are running. If this is unnatural behaviour, I would also appreciate help on how to fix this.
The
udevadm
invocation probably comes from the/etc/init/udevtrigger.conf
Upstart script. It executesudevadm settle
, which just sleeps until theudevd
daemon says it has finished setting up the device nodes for your hardware. So the fact that it is sleeping is not an indication of a problem.The primary purpose for running this command during startup is so that an Upstart event is generated when it completes. For example, the Upstart script for the printing subsystem is set to start after the
udevtrigger
script completes, since it needs access to the device nodes of the configured printers.The other tools you mention act in similar ways: they sleep until some event has occurred and then return. The
wait-for-root
tool is used to wait until the device holding the root file system is ready, andmodprobe
would be waiting until the kernel has finished loading a given kernel module.