Databases
cancel
Showing results for 
Search instead for 
Did you mean: 

NPROC Kernel parameter - best practices

Victor_101
Regular Advisor

NPROC Kernel parameter - best practices

We have raised a tar with oracle Corporation since we were having 25 zombie process in the system related to ORacle_Checkpoint and according to them our kernel parameters are not according with the
Oracle Installation Guide.

Please see their response below.



ACTION PLAN
============
Hi,

I have reviewed the two RDA reports and I noticed that the kernel parameters are not according with the
Oracle Installation Guide.

In Oracle Installation Guide some kernel parameters have fixed values and other ones have values depending on other kernel parameter.
For instance are recomanded:
NPROC 4096
MAXUPRC ((NPROC*9)/10)

In your case:
NPROC 24020
MAXUPRC 3000

Please set the kernel parameters according with the
Note 169706.1 Oracle RDBMS on AIX,HP-UX,Solaris,Tru64,Linux,MacOSX: Versions, Sizes, Requirements Quick R
eference

how will setting the parameters to the values specified in the manual affect our system?
I have 2 5470 servers running ORacle 9i DB and 2 5430 servers running 11i E-Business Suite , all on HP-ux 11i v1 for PA-Risc .They are all hooked up to an EVA 3000 2C2D with 28 disks.


9 REPLIES
RAC_1
Honored Contributor

Re: NPROC Kernel parameter - best practices

There is no hard and fast rule for this. It depends on lots of things - apps, databasese running on system etc.

The key is monitor real time usage and over a period of time and then size it accordingly.

sar -v 2 3
glance -t

I have mine set at 40000 and had no problems with it. Max it had reached was 75%.
There is no substitute to HARDWORK
Eric Antunes
Honored Contributor

Re: NPROC Kernel parameter - best practices

Hi,

I have mine nproc set to 400 and no problem at all since the OS never gets there...

Use sar -v 6 30 (like RAC said) to collect the system activity and post the results here please.

Best Regards,

Eric Antunes
Each and every day is a good day to learn.
Victor_101
Regular Advisor

Re: NPROC Kernel parameter - best practices

HP-UX Kddrac2 B.11.11 U 9000/800 09/29/05

10:35:08 text-sz ov proc-sz ov inod-sz ov file-sz ov
10:35:10 N/A N/A 347/24020 0 1464/27188 0 4052/43659 0
10:35:12 N/A N/A 347/24020 0 1464/27188 0 4053/43659 0
10:35:14 N/A N/A 347/24020 0 1464/27188 0 4053/43659 0
10:35:16 N/A N/A 347/24020 0 1464/27188 0 4054/43659 0
10:35:18 N/A N/A 347/24020 0 1462/27188 0 4053/43659 0
10:35:20 N/A N/A 347/24020 0 1462/27188 0 4049/43659 0
10:35:22 N/A N/A 347/24020 0 1462/27188 0 4048/43659 0
10:35:24 N/A N/A 347/24020 0 1462/27188 0 4050/43659 0
10:35:26 N/A N/A 347/24020 0 1462/27188 0 4045/43659 0
10:35:28 N/A N/A 347/24020 0 1462/27188 0 4045/43659 0

================================================================================

root@Kddrac1/$>sar -v 2 10

HP-UX Kddrac1 B.11.11 U 9000/800 09/29/05

10:36:28 text-sz ov proc-sz ov inod-sz ov file-sz ov
10:36:30 N/A N/A 495/5620 0 1707/6488 0 8320/10539 0
10:36:32 N/A N/A 495/5620 0 1707/6488 0 8320/10539 0
10:36:34 N/A N/A 495/5620 0 1707/6488 0 8320/10539 0
10:36:36 N/A N/A 495/5620 0 1707/6488 0 8320/10539 0
10:36:38 N/A N/A 495/5620 0 1707/6488 0 8320/10539 0
10:36:40 N/A N/A 495/5620 0 1707/6488 0 8320/10539 0
10:36:42 N/A N/A 495/5620 0 1707/6488 0 8320/10539 0
10:36:44 N/A N/A 495/5620 0 1707/6488 0 8321/10539 0
10:36:46 N/A N/A 495/5620 0 1707/6488 0 8322/10539 0
10:36:48 N/A N/A 495/5620 0 1707/6488 0 8322/10539 0

Thanks for the quick response.
Victor
Eric Antunes
Honored Contributor

Re: NPROC Kernel parameter - best practices

In my opinion, Kddrac2 has a too high ninode: start with 2048 and monitor it with "sar -v ...".

Check also the attached document with several consedirations about kernel parameters.

Best Regards,

Eric Antunes

Each and every day is a good day to learn.
Eric Antunes
Honored Contributor

Re: NPROC Kernel parameter - best practices

One question: to you have vxfs filesystems and Oracle init.ora disk_asynch_io parameter set to TRUE?

Eric
Each and every day is a good day to learn.
Victor BERRIDGE
Honored Contributor

Re: NPROC Kernel parameter - best practices

Hi,
On a L2000 I have 6 Oracle9i instances and nproc=4672, here are the system params:
maxuprc 350
maxusers 512
nproc (64+9*MAXUSERS)

The problem is elsewhere...

Can it be you are having at some time some network issue?


All the best
Victor
Victor_101
Regular Advisor

Re: NPROC Kernel parameter - best practices

we are using Raw devices for our data files.
the internal file systems are vxfs and the disk_asynch_io is set to true
Eric Antunes
Honored Contributor

Re: NPROC Kernel parameter - best practices

Hi again,

Can you post the following results:

#sar -b 6 10

#iostat -t 6 10

#vmstat -dnS 6 10

Best Regards,

Eric Antunes
Each and every day is a good day to learn.
Bill Hassell
Honored Contributor

Re: NPROC Kernel parameter - best practices

Your value for nproc is just wasting (many megs) of kernel space in RAM. You have 24,000 slots for programs but are using less than 500. You can certainyl set nproc to 4096 to keep the Oracle people happy, but the MAXUPRC value should never be a formula. The reason is that it depends on how you run your system. MAXUPRC is the largest number of processes that are running and owned by a single user. A 'normal' user might run 5-10 proceses, but a generic user like oracle might be running 500 processes. The formula is completely bogus because it cannot predict how many processes might be owned by one user ID.

Now unlike NPROC which creates a table area, MAXUPRC is just a fence, a runaway process protection. A developer might experiment with recursive processes or scripts and suddenly start thousands of processes, thus using up all your NPROC slots. So you could set MAXUPRC to 500 or 1000, but make it a fixed value (no formula). Formula values are starting points only and often do not reflect the needs of any particular system. To find out the total number of processes used by a specific user, for instance oracle:

ps -f -u oracle | wc -l


Bill Hassell, sysadmin