Make your own free website on Tripod.com

SUMMARY : No of ports and Kernel parameters


The Question was
 
How to increase the no of ports on Ultra 450 running Solaris 2.6

The soln is

Eveyone gave same follow solution .

To increase the number of ptys (pseudo-terminal devices) under
Solaris 2.3, 2.4, and 2.5, four parameters must be added to (or
modified) in the /etc/system file:
 
set pt_cnt=<number desired>
set npty=<same number as pt_cnt>
set nautopush=<same number as pt_cnt>
set sadcnt=<2 * pt_cnt number>
 
Then do a reconfiguration reboot for the changes to take effect (e.g. boot -r
at the boot "OK" prompt).
 
For example to set to allowing 128 ptys:
set pt_cnt=128
set npty=128
set nautopush=128 (1 for every pty)
set sadcnt=256 (2 for every pty)
 
pt_cnt sets the number of pty's for System V, while npty sets the number
of pty's for BSD.
 
NOTE: SERVER MUST BE REBOOTED WITH '-R' FOR PTY INCREASE TO TAKE EFFECT
(USE 'boot -r' AT 'OK' PROMPT OR 'reboot -- -r' AT UNIX PROMPT)

For Second Question

> What other kernel parameters i should change to set
>
> Like 1) no of maximum processes
> 2) no of max processes per user
> 3) max no of ports per user

I got only following answer

Unlike SunOS, I don't think there are too many parameters to control
these. I think that Solaris computes the total process number limit
as 16 times the Mbytes of memory. The total number of process for
256Mb system is (16 * 256) = 4096. The limit of for user (non-root)
processes is 5 less (4091). Other than the root distinction, I don't
think there are any limits on a 'per-user' basis.

Michael gave the following two suggestions .
One of which is to change without reboot ,

First way is very simple but it requires system reboot.
1. add netxt line to /etc/system
    set pt_cnt=<amount of pts's> (without <> symbols)
2. issue the next command
    touch /reconfigure
2. reboot the system
    init 6

Second way is bit complex. It doesnt require system reboot.
1. start kernel debugger
    adb -k -w

2. issue the next command
    pt_cnt/W<amount of pts in hex format> (without <> symbols)

    for example: pt_cnt/W0x100 <- sets amount of pts's to 256 decimal
    NOTE: preserve the case of the letter W.

3. Press Ctrl+D to exit from kernel debugger

4. There are two special files for each pts in the system. You have to
create
    couple of files for each new added pts.

     The files are:

     First one is character special file in /devices/pseudo directory. The
name
     of the file looks like of the file looks like pts@0:<number of this pts> (without <> symbols).
It has
     minor equal to 24 and major equal of number of this pts.
     Second one is symbolic link in /dev/pts directory. It points to the
first file. The
     name of the file is equal to number of this pts.

     Here is an example for 45th pts:
     crw--w---- 1 root sys 24, 45 /devices/pseudo/crw--w---- 1 root sys 24, 45 /devices/pseudo/pts@0:45
     lrwxrwxrwx 1 root root /dev/pts/45 ->
../../devices/pseudo/../../devices/pseudo/pts@0:45

     Here is a script for adding new pts. $1 is number of pts to be added.

    #!/bin/sh
    cnt=$1
    fname="/devices/pseudo/fname="/devices/pseudo/pts@0:$cnt"
    mknod $fname c 24 $cnt
    chgrp sys $fname
    chmod 644 $fname
    ln -s ../..$fname /dev/pts/$cnt
    chgrp root /dev/pts/$cnt
    exit

Once again Thanx for your help

Maheshwar Reddy

*******************************************************************************************************************************************