Operating System - HP-UX
1832965 Members
2517 Online
110048 Solutions
New Discussion

changed kernel parameter not effective after reboot

 
SOLVED
Go to solution
Thayanidhi
Honored Contributor

changed kernel parameter not effective after reboot

Hi,

I was getting error "fork failed, proc table full"
I found maxuprc low (75), and increased to 200.
Since it is dynamic parameter, it changed. But
After I reboot old value is coming back.
How to make this value permanent?

Thanks in advance.

T.Thayanidhi
Attitude (not aptitude) determines altitude.
10 REPLIES 10
Jean-Louis Phelix
Honored Contributor

Re: changed kernel parameter not effective after reboot

Hi,

Your problem is not related directly to maxuprc, but rather to nproc which is static. If you use kmtune -s for maxuprc, change should become permanent but also check if your nproc value really depends on maxuprc.

Regards.
It works for me (© Bill McNAMARA ...)
Stuart Abramson_2
Honored Contributor

Re: changed kernel parameter not effective after reboot

1. How did you change the maxuprc from 75->200? I have never worked with "dynamic kernel parameters".

2. Here is how I do it on hp-ux 11.0:

a. SAM:

set display
sam
kernel parameters
change parameter
click okay until reboot now.

b. commands:


cd /stand/build
/usr/lbin/sysadm/system_prep -s system
vi system
# make changes
# maxuprc 200
mk_kernel -s system # makes /stand/build/vmunix_test
ll vmunix_test
cd /stand
cp system system.prev
cp vmunix vmunix.prev
mv dlkm dlkm.vmunix.prev
cp ./build/system system
kmupdate
cd /
shutdown -r 0



Stuart Abramson_2
Honored Contributor

Re: changed kernel parameter not effective after reboot

I think the previous answer was right.

"proc table full" comes from nproc too small. You should change nproc.
Thayanidhi
Honored Contributor

Re: changed kernel parameter not effective after reboot

Hi,

NPROC is static is it enough I feel (4096).
At any movement I don't see processes more
than 300. (ps -ef | wc -l), ans also root
user never gave this erro.

MAXUPRC is change through sam. After reboot
I see in /stand/system "maxuprc 200".
Still I am wondering where from it is picking
up the old value.

Since the maxuprc is dynamic I don't need to
rebuild the kernel correct?

Thanks and Regards

TT
Attitude (not aptitude) determines altitude.
Ravi_8
Honored Contributor

Re: changed kernel parameter not effective after reboot

Hi,

did u rebuild the kernel after changing the value.

(ofcourse sam does this while exiting)

you might have choosen to build the kernel later.

choose defaults from in the SAM screen
never give up
Michael Steele_2
Honored Contributor

Re: changed kernel parameter not effective after reboot

As suggested the 'proc table full' message indicated 'nproc' is too small. View its usage with 'sar -v':

sar -v 5 5

nproc will be listed in numerator / denominator format and designated as "proc-sz". The denominator is your ceiling, the numerator is the current usage. Refer to 'proc-sz' below:

08:06:08 text-sz ov proc-sz inod-sz ov file-sz ov
08:06:10 N/A 0 656/1072 0 900/900 656/656

Use 'kmtune' to display or change its value.

kmtune -q nproc
-or-
kmtune -q nproc -l (* long listing *)

To change 'nproc':
cd /stand/build
kmtune -s nproc=##### -S /stand/build/system
kmupdate /
kmtune -q nproc -S /stand/build/system
mk_kernel -s /stand/build/system
kmupdate /stand/build/system_test
cd /
shutdown -r now

Support Fatherhood - Stop Family Law
Bill Hassell
Honored Contributor

Re: changed kernel parameter not effective after reboot

To determine if maxuprc or nproc is causing the error, use sar -v as mentioned before. If NPROC is 4096 and if sar -v shows plenty of empty slots (like 2000 used out of 4096), then maxuprc is the problem. HOWEVER: maxuprc refers to *ALL* processes started by the same user. If 500 people all try to login and start 2 process, then MAXUPRC=200 will stop allowing new processes after only 100 users login.

To see how many processes are being run by a specific user ID:

ps -f -u oracle

which shows all processes owned by the user oracle.


Bill Hassell, sysadmin
Thayanidhi
Honored Contributor

Re: changed kernel parameter not effective after reboot

Hi,

I think you misunderstood the question.

If I change maxuprc,I could see the new value after I exit sam using "# sysdef | grep maxuprc". After that system behaves properly.

If I reboot the value changed from 200 to 75,
And giving problems.

When I exit from sam after modifying maxuprc,
sam doesn't rebuild kernel (i.e. Dynamic parameter)

My question is If I modify a dynamic value, do
I have rebuild the kernel forcebly. If so
then why it is called dynamic?

Thanks and Regards

TT
Attitude (not aptitude) determines altitude.
S.K. Chan
Honored Contributor

Re: changed kernel parameter not effective after reboot

Maybe this is another case of SAM misbehaving ... before we get to that .. I would recommend doing this in command line ..
# kmtune -q maxuprc
==> This shows what's the current value (look at "current" and "planned") they should match. Now say you want to to make it 200, you would ..
# kmtune -s maxuprc+125
# kmtune -q maxuprc
==> You will see planned=200 and current=75.
# kmtune -u
==> Update the change.
# kmtune -q maxuprc
==> Now current=planned.
Check /stand/system to make sure this gets added.
# grep maxuprc /stand/system
The next time you reboot this setting will stay. Now in SAM, after you have changed it, check 2 things..
a) kmtune -q
b) the /stand/system
Are they updated ??
Patrick Wallek
Honored Contributor
Solution

Re: changed kernel parameter not effective after reboot

Have a look at Technical Knowledge Base document UKRNKBRC00010259 located here: http://www2.itrc.hp.com/service/cki/docDisplay.do?docLocale=en_US&docId=200000062922035

I think it will help with your problem.

Also have a look at Technical Knowledge Base document KBRC00001138 located here: http://www2.itrc.hp.com/service/cki/docDisplay.do?docLocale=en_US&docId=200000065680020

I think it may give you some other good background.