kernel tuning -- STATUS (far from SUMMARY)

2007-12-25 8:35:00

  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

Comments

Got something to say?

You must be logged in to post a comment.