[HPADM] Summary: Right value to tune/set maxusers & nfile (Error 23 File table overflow)



Thanks for the many replies which are appended below :

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

Q1: the right value is based on system performance/needs. Use
tools like glance and sar and what comes with Oracle to help here
Q2: use Ignite to handle this …get vg00 for HP-UX quick backup
Q3: /stand/vmunix
=====================================================================
You can adjust nfile separately without adjusting maxusers. The 2292
value is a very low number anyway as each login to the DB has a bunch
of files on it. I would suggest making it around 10k or more so that
you ensure you do no run out. This is a system wide setting so it
would not take long for it to get depleted. Also look at the Oracle
install for the DB version you are running. They have a lot of
specific parameters for your specific install.
=====================================================================
I forgot to answer the other questions:

The current value for nfile is 2292 while current value for maxusers is 128

Since it overflowed, it is way too small. Double it to 4500 or 5000.
Then watch: sar –v 1
That will show actual usage for nfile and nproc (ignore the others).

Q2 :
Which are the files I should backup first for quick fallback?

I assume you will use SAM to change the parameters so a backup kernel is
automatically created in the /stand directory. It is called vmunix.prev.

Q3 :
Is kernel file affected and where's the location /name of the kernel file.
In Solaris, this is /vmunix which I usually cp to somewhere first in case
a patch alters the kernel

/stand has the current kernel (/stand/vmunix) and the previous kernel
(/stand/vmunix.prev). You don't want to copy the old kernel anywhere
else because it will be unreachable. The /stand directory is special:
it is the first lvol on the disk, and it is HFS format (for PA-RISC
systems) so the processor ROM's can read it. If a kernel patch runs
the kernel, you can only choose files in the /stand directory for
bootup. No other filesystems are accessible until the kernel is
running and mounts the other filesystems.

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

in answer to Q1:
the settings you need for maxusers and nfile are dependent on the needs
of your oracle system. There is a document from oracle that outlines
recommended kernel parameter settings based on the version or oracle
you're running and the expected transactional load. aside from that,
i would think that 128 for maxusers and 2292 for nfiles do appear to
be pretty small.
for example, on some of my oracle systems, maxusers ranges from
600 - 2048, with nfile going from as low as 12008 to over 70000.
these numbers are not recommendataions, only examples. i would
contact your app vendor to see if they have recommended kernel
parameters based on their product usage.
Q2 and Q3:
/stand holds the configured kernel & configuration file /stand/vmunix
& /stand/system respectively. however, if you use SAM or SMH to
make your changes, they will get backed up automatically to
/stand/vmunix.prev and /stand/system.prev. you can have SAM not
automatically reboot the system and verify the date/time stamps on
the files to be sure, then reboot when you're ready.
if there is a problem and the system boots, you can move the previous
kernel and setting back. if the system won't boot, you can manually
select the previous config from the ISL.
see http://docs.hp.com/en/B2355-90950/ch03s11.html or
http://docs.hp.com/en/B2355-90950/ch03s10.html
depending on your HPUX version.
=====================================================================

Additional questions from me :
Thanks.
Is there any other parameter values that I ought to adjust alongside with
the increase of
nfile so that the parameters are "well-balanced"? Perhaps to address this
a) our IIS setting's number of connections is the default (I'm not sure how
much is this as I
can't reach my Wintel support colleague)
b) during Oracle installation, did it mention any other parameters other
than nfile and
maxusers
The users also encounter situation where occasionally their IE freeze while
it's downloading
data and no data could be retrieved into their IE browser. "netstat -an"
showed there's some
queued data : I'm not sure if this is related and has any significance.
Just want to get it right this time before justifying to the management for
downtime.
=====================================================================
There are some, yes. I would look for the documentation on oracle's
website.
The prereq guide for the version you're using should have several
recommendatns.
usually they want you to tweak the values related to shared memory, per
process
shared memory, semaphores, etc.
for example, 10g's info is here:

http://download.oracle.com/docs/cd/B19306_01/install.102/b19068/pre_install.htm#BABJHCJI
these are oracle's recommend values and the only other thing i would say
would
be to see how they may have an effect on your available system memory. if
the
box only has 2-4GB of RAM, these values may be a little generous.
=====================================================================
maxusers is a junk parameter. Years ago when a big computer had two
processors
and each user ran a copy of vi and ran the occasional cc compile, maxusers
was
a fudge factor for the (poor) formula values. maxusers is not a kernel
parameter
at all. It assumes that each user requires the same number of open files,
signals, etc. But users such as oracle, www, and similar application user
IDs
just don't work. Auto-adjust means a lot of screwy values such as ninode
(which should be about 2000).

The answer is: replace the formula value with a fixed number when the number
isn't adequate. The most common parameters that must be customized are:
nproc nfile maxdsiz, maxdsiz_64, maxfiles, maxfiles_lim, npty nstrpty,
nstrtel,
nkthread. Many of these are almost always dependent on what you are
running.
You have an Oracle database so your nfile, nproc, etc values will be quite
different if your system ran Sybase or is an Apache web server.

=====================================================================
Yeah Oracle has specific setting for HPUX based on what you need to run it.
The problems I have found are that the parameters are based on the system
for the person writing that specific installation document, not any real-
world systems. We actually had an HPUX server with very high resource
settings that failed an upgrade multiple times until we lowered them to
exactly what Oracle had. When the DB came online in prod it did not have
enough files and had to have that parameter resized as well.

A good rule of thumb I have used is to look at what Oracle suggests and
then use a little logic to compare current values to their settings.
Things like nfile can be higher but I have seen Oracle saying to set the
shmmax setting to 3-4x the maximum installed memory on the server and
in one case, on a Linux box, it said to set it to 2TB even though no
server I know of can have more than 128 GB of memory. Just one of those
odd things that require tuning as well as some feel for kernel settings.

=====================================================================
As far as backup for /usr/conf/master, that is handled with your requisite
Ignite/UX backup and standard filesystem backups. They would always be
done just before changing kernel parameters.

There is no 'balance' for kernel parameters. If you run into a limit, you
double or triple it. nfile also needs to be increased for additional
connections, along with npty, nstrtel and nstrpty. For the last 3, always
increase all 3 the same amount. Each network connection, whether by web
page, login, ftp or ssh, requires 1 of the pty resources. Since some
kernel parameters (not all) require a reboot, always make big changes.
Adjustin nfile from 2000 to 2500 is not worth the down time. Increasing
nfile to 5000 means a long time before another change.

Note that most kernel limits are set arbitrarily and need to be changed.
Oracle has a large number of recommendations – not in the installation
but in the Oracle support web site.

Freezing web pages are very, very common and can only be diagnosed with
an analyzer such as Wireshark. There are also a huge number of hackers
spreading browser hacks that cause very long delays.

On Thu, Mar 5, 2009 at 3:14 PM, sunhux G <sunhux@xxxxxxxxx> wrote:

Hi,

Our users uses IE to browse the IIS webserver and this webserver
in turn retrieves data from our HP-UX Oracle server using sqlnet.

Users ran into problem retrieving data (no data returned) and from
the IIS listener.log, it showed as "Error 23 file table overflow" : this
appear to indicate the nfile value in the HPUX server ran out.

Have got a reply from Forum.

Q1 :
However, how do I know the right value to set maxusers/nfile to?
Is it right to say, we should not touch nfile but only adjust
maxusers and it will auto-adjust nfile?

The current value for nfile is 2292 while current value for maxusers is
128

Q2 :
Which are the files I should backup first for quick fallback?

Q3 :
Is kernel file affected and where's the location /name of the kernel file..
In Solaris, this is /vmunix which I usually cp to somewhere first in case
a patch alters the kernel


Thanks
U

===============Reply from Forum=================


http://forums13.itrc.hp.com/service/forums/questionanswer.do?admit=109447627+1236161652537+28353475&threadId=134823

Error 23> File table overflow. The system's table of open files is full,
and temporarily no more open()s can be accepted

Increase the value of the kernel parameter "maxusers", as it influences the
default value of "nfile". If this does not solve the problem, you could
increase "nfile" independently.

This is about kernel parameters in general -

http://docs.hp.com/en/939/KCParms/KCparams.OverviewAll.html


To modify kernel parameters (from HP docs) :

*Enter the SAM command to start the System Administration Manager (SAM)
program.
Double-click the Kernel Configuration icon.
Double-click the Configurable Parameters icon.
Double-click the parameter that you want to change and type the new value
in the
Formula/Value field. Click OK.
Repeat these steps for all of the kernel configuration parameters that you
want to change.
When you are finished setting all of the kernel configuration parameters,
select Action --> Process New Kernel from the action menu bar.

The HP-UX operating system automatically restarts after you change the
values for the kernel configuration parameters. *

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

From IIS web server's listener.log :

03-MAR-2009 16:07:25 *
(CONNECT_DATA=(SID=idb)(CID=(PROGRAM=c:\windows\system32\inetsrv\w3wp.exe)(HOST=Winsvr56
)(USER=AppAdmin))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.51.11.226)(PORT=3536))
* establish * idb * 12500
TNS-12500: TNS:listener failed to start a dedicated server process
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
HPUX Error: 23: File table overflow
03-MAR-2009 16:07:27 *
(CONNECT_DATA=(SID=idb)(CID=(PROGRAM=shf)(HOST=HPUXsvr16)(USER=filenet))) *
(ADDRESS=(PRO
TOCOL=tcp)(HOST=10.51.11.226)(PORT=58525)) * establish * idb * 12500
TNS-12500: TNS:listener failed to start a dedicated server process
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
HPUX Error: 23: File table overflow
03-MAR-2009 16:07:38 * 12560
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
HPUX Error: 23: File table overflow









Relevant Pages

  • Re: Determining what is causing load when server is idle.
    ... If you still have this issue, try booting on a uniprocessor kernel or boot with the 'noapic' option and see if you face the symptom or your system boots properly. ... [root@localhost oracle]# cat /proc/interrupts ... md: autorun ... ... IO-APIC-edge timer on the DL140G2 system. ...
    (RedHat)
  • RE: Intel marginalizing Itanium even faster than expected?
    ... platform too. ... (both kernel and userland). ... what goes into the Linux kernel is Linus T. ... Oracle releases some cluster code which will allow RAC to work better ...
    (comp.os.vms)
  • Re: Migrating From AIX to Windows 2003
    ... kernel, the underlying IBM hardware on the UNIX platform is 64-bit. ... The licensing arrangments at the time were for 32-bit Oracle, ... I'm reviewing the overall platform specs, and am aware of the memory ...
    (comp.unix.aix)
  • Re: Keeping Up-to-Date With Oracle
    ... > I have a couple of Redhat AS 3.0 installations that are hosting Oracle ... > instructions that I'm to leave the stock kernel, glibc, and compat ... modifies the Linux kernel, Oracle: ... * the customer will not be under Unbreakable Linux Support and is ...
    (RedHat)
  • Re: Unable to boost maxusers in custom kernel.
    ... It's definitely changing, and I think I've done everything I'm supposed to to tell the system what kernel file to use. ... What troubles me is that every time I reboot I see: ... Unable to boost maxusers in custom kernel. ...
    (freebsd-questions)