Re: 7.0 slow multiuser boot

Frank Wille <[email protected]>
Newsgroups gmane.os.netbsd.ports.amiga,gmane.os.netbsd.ports.m68k
Organization Privates Internet Ostwestfalen/Lippe e.V.
Message-ID <[email protected]>
On Sun, 25 Jan 2015 08:40:44 +0000 (UTC)
[email protected] (Michael van Elst) wrote:

> >What happened there?
> 
> How often did you measure the startup time?

An exact measurement was done only three or four times, but I noticed 7.0's
slow startup since weeks.


> The first time you start
> the new sshd, it computes another hostkey which takes a very long time.

Sure. I would have noticed that. :)
No sshd enabled. Also makemandb disabled.


> On a system that is about as fast, with a gcc-4.8-compiled but
> otherwise pretty generic -current from December, I see the following
> for the rc scripts, the kernel booting into single user before took
> another ~30 seconds for a total startup time of about 4 minutes.

Ok. I admit 9 minutes are an exaggeration. Your timings are a little bit
faster, but not so different to mine. Now I measured the times amd memory
usage exactly, by applying the following patch to /etc/rc:

--- /etc/rc.orig        2015-01-16 10:47:54.000000000 +0100
+++ /etc/rc     2015-01-25 15:15:56.000000000 +0100
@@ -306,7 +306,9 @@
        cmd-name)
                # Marks the start of a child script (usually one of
                # the /etc/rc.d/* scripts).
-               rc_log_message "[running $1]"
+               mytm=`/bin/date +%H:%M:%S`
+               myvm=`/usr/bin/vmstat | grep -v lt | cut -c 7-21`
+               rc_log_message "$mytm [running $1] $myvm"
                ;;
        cmd-status)
                # Marks the end of a child script.


Then I compared 6.1.5 and 7.0 on the same machine (A4000, 68060/50, IDE)
with the same configuration (i.e. no sshd no makemandb).

First NetBSD 6.1.5. Takes 2 minutes and 39 seconds:
(vmstat output is missing first, because /usr is on a separate filesystem)

---8<---
[/etc/rc starting at Sun Jan 25 15:54:11 GMT 2015]
15:54:12 [running rcorder] 
15:54:13 [running /etc/rc.d/wdogctl] 
15:54:14 [running /etc/rc.d/fsck_root] 
Starting root file system check:
/dev/rwd0a: file system is clean; not checking
15:54:15 [running /etc/rc.d/root] 
15:54:16 [running /etc/rc.d/ccd] 
15:54:16 [running /etc/rc.d/rndctl] 
15:54:17 [running /etc/rc.d/cgd] 
[NOTE: Output from /etc/rc.d/cgd is not logged]
15:54:17 [running /etc/rc.d/lvm] 
15:54:18 [running /etc/rc.d/raidframe] 
15:54:19 [running /etc/rc.d/DISKS] 
15:54:19 [running /etc/rc.d/swap1] 
swapctl: adding /dev/wd0b as swap device at priority 0
15:54:20 [running /etc/rc.d/fsck] 
Starting file system checks:
/dev/rwd0e: file system is clean; not checking
/dev/rwd0f: file system is clean; not checking
15:54:20 [running /etc/rc.d/mountcritlocal] 
[NOTE: Optional file system /var is not present]
15:54:21 [running /etc/rc.d/ttys] 
Setting tty flags.
15:54:22 [running /etc/rc.d/bootconf.sh] 
[NOTE: Output from /etc/rc.d/bootconf.sh is not logged]
15:54:22 [running /etc/rc.d/pf_boot] 
15:54:23 [running /etc/rc.d/ipsec] 
15:54:23 [running /etc/rc.d/ipfilter] 
15:54:24 [running /etc/rc.d/sysctl] 
Setting sysctl variables:
ddb.onpanic: 1 -> 0
15:54:25 [running /etc/rc.d/network] 
Starting network.
Hostname: aquila
IPv6 mode: host
Configuring network interfaces: le0.
Adding interface aliases:.
add net default: gateway 192.168.0.254
15:54:30 [running /etc/rc.d/wpa_supplicant] 
15:54:30 [running /etc/rc.d/dhclient] 
15:54:31 [running /etc/rc.d/dhcpcd] 
15:54:31 [running /etc/rc.d/ldpd] 
15:54:32 [running /etc/rc.d/npf] 
15:54:32 [running /etc/rc.d/pf] 
15:54:33 [running /etc/rc.d/route6d] 
15:54:33 [running /etc/rc.d/routed]    5960  82008 
16:54:36 [running /etc/rc.d/rtsold]    6200  81168 
16:54:38 [running /etc/rc.d/staticroute]    6368  80528 
16:54:39 [running /etc/rc.d/NETWORKING]    6440  80264 
16:54:41 [running /etc/rc.d/mountcritremote]    5808  80840 
16:54:42 [running /etc/rc.d/sysdb]    5648  81040 
Building databases: dev, utmp, utmpx.
16:54:43 [running /etc/rc.d/newsyslog]    5800  80856 
16:54:45 [running /etc/rc.d/wscons]    6016  80608 
16:54:46 [running /etc/rc.d/syslogd]    6224  80328 
Starting syslogd.
16:54:50 [running /etc/rc.d/ppp]    7472  79056 
16:54:51 [running /etc/rc.d/named]    7336  79224 
16:54:52 [running /etc/rc.d/rtclocaltime]    7656  78792 
16:54:54 [running /etc/rc.d/ntpdate]    7632  78840 
16:54:56 [running /etc/rc.d/rpcbind]    7520  78992 
16:54:57 [running /etc/rc.d/ypserv]    7664  78728 
16:54:58 [running /etc/rc.d/ypbind]    8368  77960 
16:55:00 [running /etc/rc.d/yppasswdd]    8576  77752 
16:55:01 [running /etc/rc.d/mountall]    8640  77688 
Mounting all filesystems...
16:55:03 [running /etc/rc.d/perusertmp]    8656  77672 
16:55:05 [running /etc/rc.d/cleartmp]    8752  77576 
Clearing temporary files.
16:55:06 [running /etc/rc.d/xfs]    8928  77336 
16:55:07 [running /etc/rc.d/accounting]    8936  77328 
16:55:08 [running /etc/rc.d/amd]    8960  77304 
16:55:09 [running /etc/rc.d/dmesg]    8976  77288 
16:55:10 [running /etc/rc.d/fccache]    8992  77272 
Updating fontconfig cache: done.
16:55:13 [running /etc/rc.d/veriexec]    8304  77944 
16:55:13 [running /etc/rc.d/ldconfig]    8888  77248 
Creating a.out runtime link editor directory cache.
16:55:18 [running /etc/rc.d/quota]    9944  75952 
Checking quotas: done.
16:55:20 [running /etc/rc.d/mountd]    9992  75904 
16:55:21 [running /etc/rc.d/nfsd]   10336  75456 
16:55:22 [running /etc/rc.d/nfslocking]   10568  75192 
16:55:24 [running /etc/rc.d/pwcheck]   10624  75176 
16:55:26 [running /etc/rc.d/gpio]   10184  75672 
16:55:28 [running /etc/rc.d/random_seed]   10208  75648 
Loaded entropy from disk.
16:55:29 [running /etc/rc.d/ipnat]   10584  75200 
16:55:30 [running /etc/rc.d/securelevel]   10584  75200 
Setting securelevel: kern.securelevel: 0 -> 1
16:55:32 [running /etc/rc.d/swap2]   10616  75168 
16:55:33 [running /etc/rc.d/virecover]   10616  75168 
Starting virecover.
16:55:34 [running /etc/rc.d/altqd]   10256  75592 
16:55:35 [running /etc/rc.d/ifwatchd]   10256  75592 
16:55:36 [running /etc/rc.d/isdnd]   10256  75592 
16:55:37 [running /etc/rc.d/ipfs]   10256  75592 
16:55:39 [running /etc/rc.d/ipmon]   10448  75360 
16:55:40 [running /etc/rc.d/kdc]   10784  74944 
16:55:41 [running /etc/rc.d/pflogd]   10336  75496 
16:55:43 [running /etc/rc.d/racoon]   10336  75496 
16:55:44 [running /etc/rc.d/savecore]   10848  74880 
Checking for core dump...
savecore: no core dump
16:55:46 [running /etc/rc.d/SERVERS]   10528  75224 
16:55:47 [running /etc/rc.d/DAEMON]   11688  73992 
16:55:49 [running /etc/rc.d/apmd]   12728  72888 
16:55:51 [running /etc/rc.d/bluetooth]   13264  72352 
16:55:53 [running /etc/rc.d/bootparams]   13272  72304 
16:55:56 [running /etc/rc.d/dhcpd]   14000  71512 
16:55:57 [running /etc/rc.d/dhcrelay]   14208  71304 
16:55:58 [running /etc/rc.d/ftp_proxy]   14528  70896 
16:56:00 [running /etc/rc.d/irdaattach]   14688  70680 
16:56:02 [running /etc/rc.d/local]   14224  71200 
Starting local daemons:.
16:56:04 [running /etc/rc.d/lpd]   14360  71064 
16:56:05 [running /etc/rc.d/makemandb]   14360  71064 
16:56:07 [running /etc/rc.d/mopd]   14544  70880 
16:56:07 [running /etc/rc.d/motd]   14224  71200 
Updating motd.
16:56:10 [running /etc/rc.d/mrouted]   14544  70880 
16:56:11 [running /etc/rc.d/ntpd]   14224  71200 
16:56:13 [running /etc/rc.d/powerd]   14384  71040 
16:56:15 [running /etc/rc.d/rarpd]   14544  70880 
16:56:16 [running /etc/rc.d/rbootd]   14008  71368 
16:56:18 [running /etc/rc.d/rtadvd]   14016  71352 
16:56:19 [running /etc/rc.d/rwho]   14016  71336 
16:56:20 [running /etc/rc.d/screenblank]   14016  71336 
16:56:21 [running /etc/rc.d/timed]   14016  71248 
16:56:23 [running /etc/rc.d/tpctl]   14024  71168 
16:56:24 [running /etc/rc.d/LOGIN]   14024  71088 
16:56:25 [running /etc/rc.d/xdm]   14032  71080 
16:56:27 [running /etc/rc.d/wsmoused]   14032  71080 
16:56:28 [running /etc/rc.d/sshd]   14032  71048 
16:56:29 [running /etc/rc.d/raidframeparity]   14032  71048 
16:56:31 [running /etc/rc.d/postfix]   14032  71040 
16:56:41 [running /etc/rc.d/ndbootd]   13240  71808 
16:56:42 [running /etc/rc.d/moused]   13520  71528 
16:56:43 [running /etc/rc.d/mixerctl]   13840  71208 
16:56:44 [running /etc/rc.d/mdnsd]   14248  70736 
16:56:46 [running /etc/rc.d/isibootd]   15320  69520 
16:56:49 [running /etc/rc.d/iscsi_target]   16360  68520 
16:56:50 [running /etc/rc.d/inetd]   16368  68512 
Starting inetd.
16:56:51 [running /etc/rc.d/identd]   16368  68512 
16:56:52 [running /etc/rc.d/httpd]   16368  68512 
16:56:53 [running /etc/rc.d/hostapd]   16368  68512 
16:56:54 [running /etc/rc.d/ftpd]   16368  68512 
16:56:55 [running /etc/rc.d/envsys]   16368  68512 
16:56:56 [running /etc/rc.d/cron]   16368  68512 
Starting cron.
[/etc/rc finished at Sun Jan 25 16:56:50 CET 2015]
[/etc/rc exiting with status 0]
---8<---


Now NetBSD 7.0beta (from last week). Takes 4 minutes and 51 seconds.

---8<---
[/etc/rc starting at Sun Jan 25 16:33:15 CET 2015]
16:33:17 [running rcorder]    5040  84664 
16:33:20 [running /etc/rc.d/wdogctl]    5656  84056 
16:33:22 [running /etc/rc.d/fsck_root]    5600  84112 
Starting root file system check:
/dev/rwd1a: file system is clean; not checking
16:33:24 [running /etc/rc.d/root]    5624  84040 
16:33:26 [running /etc/rc.d/ccd]    6424  83128 
16:33:28 [running /etc/rc.d/rndctl]    6096  83488 
16:33:29 [running /etc/rc.d/cgd]    5688  83960 
[NOTE: Output from /etc/rc.d/cgd is not logged]
16:33:32 [running /etc/rc.d/lvm]    5672  83968 
16:33:33 [running /etc/rc.d/raidframe]    6096  83480 
16:33:35 [running /etc/rc.d/DISKS]    6096  83480 
16:33:37 [running /etc/rc.d/swap1]    6096  83480 
swapctl: adding /dev/wd0b as swap device at priority 0
16:33:39 [running /etc/rc.d/fsck]    5704  83928 
Starting file system checks:
16:33:40 [running /etc/rc.d/mountcritlocal]    6112  83456 
[NOTE: Optional file system /var is not present]
16:33:44 [running /etc/rc.d/random_seed]    6256  83296 
Loaded entropy from /var/db/entropy-file.
16:33:46 [running /etc/rc.d/bootconf.sh]    6336  83144 
[NOTE: Output from /etc/rc.d/bootconf.sh is not logged]
16:33:48 [running /etc/rc.d/ttys]    6032  83512 
Setting tty flags.
16:33:52 [running /etc/rc.d/pf_boot]    5976  83536 
16:33:54 [running /etc/rc.d/ipsec]    5976  83536 
16:33:55 [running /etc/rc.d/ipfilter]    6416  83032 
16:33:57 [running /etc/rc.d/sysctl]    5976  83536 
Setting sysctl variables:
ddb.onpanic: 1 -> 0
16:33:59 [running /etc/rc.d/network]    5984  83528 
Starting network.
Hostname: aquila
IPv6 mode: host
Configuring network interfaces: le0.
Adding interface aliases:.
add net default: gateway 192.168.0.254
Waiting for DAD completion for statically configured addresses...
16:34:08 [running /etc/rc.d/wpa_supplicant]    6168  83224 
16:34:10 [running /etc/rc.d/dhclient]    6168  83224 
16:34:11 [running /etc/rc.d/dhcpcd]    6200  83192 
16:34:13 [running /etc/rc.d/ldpd]    6576  82752 
16:34:15 [running /etc/rc.d/npf]    6168  83224 
16:34:17 [running /etc/rc.d/pf]    6168  83224 
16:34:18 [running /etc/rc.d/route6d]    6168  83224 
16:34:20 [running /etc/rc.d/routed]    6168  83224 
16:34:22 [running /etc/rc.d/rtsold]    6168  83224 
16:34:23 [running /etc/rc.d/staticroute]    6040  83352 
16:34:25 [running /etc/rc.d/NETWORKING]    6168  83224 
16:34:27 [running /etc/rc.d/mountcritremote]    6576  82752 
[NOTE: Optional file system /usr is not present]
16:34:29 [running /etc/rc.d/sysdb]    6168  83224 
Building databases: dev, utmp, utmpx.
16:34:36 [running /etc/rc.d/newsyslog]    6264  81800 
16:34:37 [running /etc/rc.d/wscons]    6680  81320 
16:34:39 [running /etc/rc.d/syslogd]    6272  81792 
Starting syslogd.
16:34:45 [running /etc/rc.d/ppp]    8808  79072 
16:34:47 [running /etc/rc.d/named]    8400  79544 
16:34:49 [running /etc/rc.d/rtclocaltime]    8336  79608 
16:34:50 [running /etc/rc.d/ntpdate]    8400  79544 
16:34:52 [running /etc/rc.d/rpcbind]    8432  79496 
16:34:54 [running /etc/rc.d/ypserv]    8400  79528 
16:34:55 [running /etc/rc.d/ypbind]    8808  79056 
16:34:57 [running /etc/rc.d/yppasswdd]    8400  79528 
16:34:59 [running /etc/rc.d/mountall]    8400  79528 
Mounting all file systems...
16:35:01 [running /etc/rc.d/perusertmp]    8400  79520 
16:35:03 [running /etc/rc.d/cleartmp]    8736  79120 
Clearing temporary files.
16:35:05 [running /etc/rc.d/xfs]    8448  79408 
16:35:07 [running /etc/rc.d/accounting]    8448  79408 
16:35:08 [running /etc/rc.d/amd]    8856  78936 
16:35:10 [running /etc/rc.d/dmesg]    8856  78936 
16:35:12 [running /etc/rc.d/fccache]    8880  78912 
Updating fontconfig cache: done.
16:35:21 [running /etc/rc.d/veriexec]    9480  78080 
16:35:22 [running /etc/rc.d/ldconfig]    9888  77608 
Creating a.out runtime link editor directory cache.
16:35:29 [running /etc/rc.d/quota]   12160  75168 
Checking quotas: done.
16:35:31 [running /etc/rc.d/mountd]   12680  74584 
16:35:33 [running /etc/rc.d/nfsd]   12272  75056 
16:35:35 [running /etc/rc.d/nfslocking]   12272  75056 
16:35:37 [running /etc/rc.d/pwcheck]   12672  74592 
16:35:39 [running /etc/rc.d/gpio]   12584  74680 
16:35:40 [running /etc/rc.d/ipnat]   12584  74672 
16:35:42 [running /etc/rc.d/securelevel]   12272  75048 
Setting securelevel: kern.securelevel: 0 -> 1
16:35:44 [running /etc/rc.d/swap2]   12680  74576 
16:35:46 [running /etc/rc.d/virecover]   12680  74576 
Starting virecover.
16:35:49 [running /etc/rc.d/altqd]   12280  75032 
16:35:50 [running /etc/rc.d/ifwatchd]   12280  75032 
16:35:52 [running /etc/rc.d/isdnd]   12280  75032 
16:35:53 [running /etc/rc.d/ipfs]   12688  74560 
16:35:55 [running /etc/rc.d/ipmon]   12688  74560 
16:35:57 [running /etc/rc.d/kdc]   12128  75184 
16:35:59 [running /etc/rc.d/pflogd]   12688  74560 
16:36:00 [running /etc/rc.d/racoon]   12688  74560 
16:36:02 [running /etc/rc.d/savecore]   12672  74576 
Checking for core dump...
savecore: /dev/rwd1b: Device not configured
16:36:05 [running /etc/rc.d/SERVERS]   12352  74952 
16:36:06 [running /etc/rc.d/DAEMON]   12352  74952 
16:36:08 [running /etc/rc.d/apmd]   12696  74544 
16:36:09 [running /etc/rc.d/bluetooth]   12576  74696 
16:36:11 [running /etc/rc.d/bootparams]   12760  74480 
16:36:13 [running /etc/rc.d/devpubd]   12760  74480 
16:36:14 [running /etc/rc.d/dhcpd]   12352  74952 
16:36:16 [running /etc/rc.d/dhcrelay]   12760  74480 
16:36:18 [running /etc/rc.d/ftp_proxy]   12352  74952 
16:36:20 [running /etc/rc.d/irdaattach]   12352  74952 
16:36:21 [running /etc/rc.d/local]   12760  74480 
Starting local daemons:.
16:36:24 [running /etc/rc.d/lpd]   12808  74368 
16:36:25 [running /etc/rc.d/makemandb]   12400  74840 
16:36:27 [running /etc/rc.d/mopd]   12296  74944 
16:36:29 [running /etc/rc.d/motd]   12400  74840 
Updating motd.
16:36:31 [running /etc/rc.d/mrouted]   12864  74296 
16:36:33 [running /etc/rc.d/ntpd]   12456  74768 
16:36:34 [running /etc/rc.d/powerd]   12456  74768 
16:36:36 [running /etc/rc.d/rarpd]   12864  74296 
16:36:38 [running /etc/rc.d/rbootd]   12456  74768 
16:36:40 [running /etc/rc.d/rtadvd]   12312  74912 
16:36:41 [running /etc/rc.d/rwho]   12456  74768 
16:36:43 [running /etc/rc.d/screenblank]   12864  74296 
16:36:44 [running /etc/rc.d/timed]   12864  74296 
16:36:46 [running /etc/rc.d/tpctl]   12432  74792 
16:36:48 [running /etc/rc.d/LOGIN]   12456  74768 
16:36:50 [running /etc/rc.d/xdm]   12864  74296 
16:36:51 [running /etc/rc.d/wsmoused]   12640  74520 
16:36:53 [running /etc/rc.d/sshd]   12304  74920 
16:36:55 [running /etc/rc.d/raidframeparity]   12456  74768 
16:36:57 [running /etc/rc.d/postfix]   12456  74768 
16:37:42 [running /etc/rc.d/ndbootd]   20600  65912 
16:37:45 [running /etc/rc.d/moused]   22912  63368 
16:37:47 [running /etc/rc.d/mixerctl]   22880  63400 
16:37:49 [running /etc/rc.d/mdnsd]   23088  63192 
16:37:50 [running /etc/rc.d/isibootd]   23040  63240 
16:37:52 [running /etc/rc.d/iscsi_target]   22680  63664 
16:37:54 [running /etc/rc.d/inetd]   22680  63664 
Starting inetd.
16:37:56 [running /etc/rc.d/identd]   23192  63096 
16:37:58 [running /etc/rc.d/httpd]   23600  62624 
16:37:59 [running /etc/rc.d/hostapd]   23184  63040 
16:38:01 [running /etc/rc.d/ftpd]   23192  63096 
16:38:03 [running /etc/rc.d/envsys]   23520  62704 
16:38:04 [running /etc/rc.d/cron]   23344  62880 
Starting cron.
[/etc/rc finished at Sun Jan 25 16:38:06 CET 2015]
[/etc/rc exiting with status 0]
---8<---


There are no individual scripts which take longer, but all scripts take
longer. The runtime is at least doubled for every single script! So there
must be a general problem.
Also the amount of allocated memory is much higher: 23 MB instead 16 MB.

I don't think that it is caused by the kernel, because I remember I have
seen the same effect with a 6.1.5 kernel running on 7.0 userland.

-- 
Frank Wille
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.