Subject: kernel tuning -- STATUS (far from SUMMARY)

From: [email-masked] (Gyula Szokoly)
Date: 24 Nov 1993 22:25:25 GMT

I was posting about a week ago about kernel configuration concerns.
At the moment I still don't feel good. What I figured out so far
(thanks to the many who responded and to a sunsolve document):

1. The kernel is configured automagically by doing a 'boot -r'. This
should take care of the necessary drivers, adjusts the tunable parameters.
The first part seems to be OK. It does what it should, if for any reason
you don't want to load a driver (but you HAVE the hardware), you can 
easily figure out what to do: the '/usr/sbin/modinfo -i' should tell
you what drivers are loaded. You can play with the 'modunload' command
to figure out if you can really remove it. The second part (tunable parameters)
are not so clean.
2. You can get the names of these parameters using the 'nm' on '/kernel/unix'.
After greping for 'OBJT' and 'GLOB', I ended up with more than 1000 names.
Some of them are obvious (like maxusers), but I guess at least 95% is not
very interesting. So this is not the way. The claim by Sun that the
automatic kernel configuration does what it should is just not true. There
are some built in thumb of rules but that's all. I recall VMS 4.7 (at least
5 years old): it was able to collect information and adjust the parameters
according to the usage. The Solaris is not capable to do this.
3. I was playing with 'sar'. To use this, you can do many things, but 
the ab sugegsted way is pretty easy: become sys ('su sys') and edit the
crontab file. The entries are already there so it should be easy. Than
wait a few days to collect info. To examine the collected info, do a
'sar -A | more'. This will report EVERY collected info for the current day
(do a 'man sar' to figure out how to get the previous days). Thanks Sun,
the report makes sense, i.e. the statistics are reported in groups so
you don't need a 2000 char long display. Here you might catch what is
the source of your problems.
4. Well, you are pretty close. Go to 2.) and try to figure out which
parameter should be adjusted. Sometimes it's easy, sometimes it's nearly
hopeless.
5. Check out the current setting. Start adb:
adb -k /dev/ksyms /dev/mem
(You don't get a prompt). To check a parameter (e.g. maxusers):
maxusers/D
maxusers/X
The first gives the decimal, the second the hex value. Depending on
the variable, you might need different commands (do a man adb).
6. Guess the correct value. Put it into /etc/system. The file is
self descriptive, e.g. to increase the maxusers, insert:

		set maxusers=16

You can also disable the loading of modules here. After you are done,
you have to do a halt and a 'boot -r' (the touch /reconfigure seems
to be broken in some cases), than a reboot (I'm not quite sure if this
is needed but since you already restarted the machine, an additional 
restart should not hurt). 

  Still needed: what are the usefull kernel parameters? The maxusers is
obviously one of them, while

s_cache_flushpagectx

probably is not.

Hope somebody can enlighten me,

Gyula