I finally got the GA of Solaris 10 installed on my Ultra5 at home. Needless to say, the fact that it only has 128MB of memory is killing it. JDS is pretty much useless on that small amount of memory. (Heck my laptop has 320MB and JDS is slow on it.). So in trying to figure out what all is causing the slowness I am going to start learning Dtrace.. Here are some simple one line DTrace commands to show some intresting information
dtrace -n syscall:::entry’{@[execname] = count()}’
Will show the top processess making system calls, i.e:
# dtrace -n syscall:::entry’{@[execname] = count()}’
dtrace: description ’syscall:::entry’ matched 225 probes
dtrace: buffer size lowered to 1m
dtrace: aggregation size lowered to 256k
^C
snmpdx 2
sac 6
ttymon 9
automountd 13
svc.configd 18
inetd 18
snmpd 18
gconfd-2 18
fmd 18
utmpd 31
in.routed 71
svc.startd 199
smbd 942
dtterm 1358
nscd 2050
nmbd 2495
sdtperfmeter 2619
prstat 3903
rpc.rstatd 4340
dtrace 6447
dtwm 13828
Xsun 30434
firefox-bin 37709
So from this we can see clearly that Firefox and Xwindows is making the most system calls.
Next is:
dtrace -n syscall::write:entry’{@[execname] = count()}’
This one counts how many write sys calls are happening..
dtrace: description ’syscall::write:entry’ matched 1 probe
dtrace: buffer size lowered to 2m
dtrace: aggregation size lowered to 512k
^C
nmbd 1
dtrace 12
prstat 12
dtwm 18
sdtperfmeter 60
dtterm 67
firefox-bin 1282
So here we see firefox again, but also dtterm (where i have prstat running. guess I can close it.) and sdtperfmeter, this is the little guage that sits in the CDE tool bar that shows CPU and disk load. it should be ok for now.
So now to find out what the heck firefox is doing that it taking up the load:
dtrace -P syscall’/execname==”firefox-bin”/{@[probefunc] = count()}’
dtrace: aggregation size lowered to 1m
^C
lseek 4
systeminfo 116
yield 122
lwp_park 1155
readv 1462
ioctl 1792
pollsys 2488
write 2828
read 3474
looks like a lot of reading. Probably from where I am clicking back and forth between windows and tabs.
So I also looked at the output of “vmstat 1″ and noticed I am getting some paging (duh!, only 128Meg of memory is going to cause paging).
So what is paging?
dtrace -n pgin’{@[execname] = count()}’
dtrace: description ‘pgin’ matched 1 probe
dtrace: aggregation size lowered to 2m
^C
dtterm 1
nmbd 1
utmpd 1
dtrace 2
syslogd 6
dtwm 7
Xsun 11
firefox-bin 18
automountd 29
Ahh!, the pesky automounted.. Since this is a standalone workstation that I will probably never need to use automountd on I can stop that process. But how do you stop it? Solaris 10 has changed the /etc/init.d/ structure in favor of the SMF (Serice Management Framework). So lets find autofs in the SMF:
svcs -a | grep auto
legacy_run 12:12:51 lrc:/etc/rc2_d/S72autoinstall
online 12:14:31 svc:/system/filesystem/autofs:default
To stop autofs you can now use:
svcadm disable svc:/system/filesystem/autofs
Hopefully I will learn some more dtrace stuff and put it up here.
