Re: 7.0 slow multiuser boot
David Brownlee <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.amiga,gmane.os.netbsd.ports.m68k |
|---|---|
| Message-ID | <CAGN_6pZmRBh1fBJL9qD_QreS5xN2mt8QZVO7_x5S3yMG02XVzA@mail.gmail.com> |
On 25 January 2015 at 16:39, Frank Wille <[email protected]> wrote: > 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. Did you mean 7.0 kernel and 6.1.5 userland? Do you have the numbers for the same boot for that for direct comparison? Was this a 4.8 or 4.5 compiled 7.0? If it was 4.8 would it be possible to get 4.5 numbers? How much memory was in the machine? Could it be the 16->23MB memory usage is pushing it into paging? Apologies if I seem like I'm just suggesting you do even more work, but I don't have a usable m68k box available... (I have a nice TT030 but in storage quite some way away :/