Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Kernel Setting

Status
Not open for further replies.

uadmin

Technical User
Jun 13, 2001
122
GB
Dear All,

I have a Solaris 8 which is running rather slow due to IO and has a high load constant. When issue a iostat -xtnc 5 the amount of time the disk is busy exceeds 90% when I look at the %b value.

r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
213.9 21.3 496.8 61.7 0.0 0.8 0.0 3.4 0 94 1/md10

I have been looking into several areas and one key area is the kernel values in /etc/system. The MAXUSERS, a general sizing parameter used for most tables on the system, and a variable called max_nprocs, which governs the total number of processes that can run simultaneously. The main concern I have is that the number of real users exceeds 100 and the maxusers parameter is set to 40.

set maxusers=40
set nprocs=30000

Would the maxusers parameter being so low cause issue's.

Thanks

Simon Peter Wickham
Email: s.wickham@zoom.co.uk
 
There are several other kernel parameters that are calculated from "maxusers". Some of these calculated parameters impact disk I/O. So setting it too small will affect other things like Inode cache size (ufs_ninode), name lookup cache (ncsize), and quota table size (ndquot). Setting the max number of processes to a higher value will help, but I think you have the name wrong, it should be "max_nprocs", not "nprocs".

The parameters you want to look at are...

maxusers: this defaults to the number of megabytes in the system, or 2048, whichever is smaller. It can't be set over 4096.

Max number of processes:
max_nprocs = (maxusers x 16) + 10

Inode cache size:
ufs_ninode = ((maxusers + max_nprocs) x 4) + 320

Name lookup cache size:
ncsize = ((maxusers + max_nprocs) x 4) + 320

Quota table size:
ndquot = (maxusers x 10) + max_nprocs

User process limit:
maxuprc = max_nprocs - 5

So, if you have maxusers set to 40 and max_nprocs set incorrectly, then a lot of other parameters are set incorrectly. Way too small.

If you have at least two GB of memory in the machine, I would try either not setting either of these parameters, or just set maxusers to something like 512 or 1024. But definitely much higher than your real maximum number of users (100).

This link has info on the parameters...


Hope this helps.
 
Thanks for the help

Simon Peter Wickham
Email: s.wickham@zoom.co.uk
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top