- Stop devfsd with "service devfsd stop"
- Start it manually with "devfsd /dev -t 2"
You will see what is done during startup. Hit Ctrl-S from time to time to interrupt the scrolling and see what it is working on (then Ctrl-Q to continue).
And you will see that the scripts /etc/dynamic/scripts/... are run many many times.
(The reason is in the config file "/etc/devfs/conf.d/dynamic.conf")
One of these scripts is /etc/dynamic/scripts/.part.script.
This script makes a call to a perl script : ### /usr/sbin/drakupdate_fstab ###.
And THIS script is slow
(too many invocations of "use..."? slow startup of perl interpreter ?)
Even when you run it with no argument, it takes almost half a second to execute. And this half-second will be repeated many times, because this script is called many times.
So there are three things wrong:
1) There are too many scripts executed during devfsd startup
2) The scripts have a too deep level of sub-calls (scripts that calls scripts that calls scripts)
3) One of them is a slow perl script, executed many times.
Gerard Patel wrote:
At 09:42 AM 1/16/03 -0500, you (Felix Miata) wrote:1505 (64 second last non-root login; 9.0; users501,502,503,551,553,555,556,587; all group 501; 550Mhz)1562 (89 second last non-root login; 9.0; users500,501,502,503,504,505,506,507; all group 500; 500Mhz)1470 (5.5 second last non-root login; rc3; users 501,502,503; 550Mhz) LSI 53c8xx /dev/sdc7 / on first machine, /dev/hda7 / on the others.
I think to understand that you have around 1500 entries in your /dev directory.
That's about as much as my installation.
I don't have much knowledge about devfs; based on another post, it seems that
opening a file under /dev can load a kernel module, something that can
be more or less slow. One possibility could be that on your system a particular module is very slow at initialization.
I have attached a little script to try to test for such behaviour.
Run it as
python test.py
as root, under a console (X Window not started), with a floppy in
the drive, and report the result. The script reports any open/close taking more than 0.1 seconds. On my system only /dev/psaux is reported (the script reports also
numerous open errors)
Gerard Patel
