Operating System - HP-UX
1830624 Members
1960 Online
110015 Solutions
New Discussion

Syslog: vmunix: kthread: table is full

 
Krenzer
Advisor

Syslog: vmunix: kthread: table is full

Hello,

does anyone know this message ? I cant find anything relate to it.
I think, it's not a problem with the file table. The 'nfile' parameters has been set to 3500 and the sar command tells me:
text-sz ov proc-sz ov inod-sz ov file-sz ov
N/A N/A 207/276 0 0/476 0 1196/3512 0
Using HP-UX 11i on a N-Class machine with 4 GB Ram and 4 processors.

Greetings
4 REPLIES 4
Pete Randall
Outstanding Contributor

Re: Syslog: vmunix: kthread: table is full

If you have glance, check the system tables report. It will show you current and high water marks. You should be able to identify and correct from there.

Pete

Pete
Armin Feller
Honored Contributor

Re: Syslog: vmunix: kthread: table is full

Hi,

This error is associated with the nkthread kernel parameter,
which specifies the maximum number of threads that all processes combined can

run, system-wide, at any given time.

You can increase the nkthread parameter or nproc, depending on how heavily threads are used by you application.

Regards,
Armin
Armin Feller
Honored Contributor

Re: Syslog: vmunix: kthread: table is full

Processes that use threads for improved performance create multiple
copies of certain portions of their process space, which requires
memory space for thread storage as well as processor and system
overhead related to managing the threads. On systems running large
threaded applications, a large number of threads may be required. The
kernel parameter max_thread_proc limits the number of threads that a
single process can create, but there may be other threaded applications
on the system that also use a large number of threads or they may have
more modest requirements.

nkthread limits the combined total number of threads that can be
running on the system at any given time from all processes on the
system. This value protects the system against being overwhelmed by a
large number of threads that exceeds normal, reasonable operation. It
protects the system against overload if multiple large applications are
running, and also protects the system from users who might maliciously
attempt to sabotage system operation by launching a large number of
threaded programs, causing resources to become unavailable for normal
system needs.

The default value allows an average of two threads per process plus an
additional system allowance. If you need to use a larger value:

* Determine the total number of threads required by each threaded
application on the system; especially any large applications.

* Determine how many and which of these will be running
simultaneously at any given time.

* Add these together and combine with a reasonable allowance for
other users or processes that might run occasionally using threads
(nproc*2 might be a useful number).

* Select a value for nkthread that is large enough to accommodate the
total, but not so large that it compromises system integrity.

On large systems with many threaded applications running
simultaneously, some experimentation may be required while using system
process-monitoring tools and programs.
S.K. Chan
Honored Contributor

Re: Syslog: vmunix: kthread: table is full

You've increased the wrong parameter. Usually you would want to increase "maxusers" because that would in turn increase ..
nproc = (20+8*maxusers)
and
nkthread = (((nproc*7)/4)+16)
The formula is from SAM.