This warning message indicates that the kernel table used for
holding the program's arguments, environment (and so on) when an
exec(S) system call is made, was exceeded.
In some cases this can be expected. For example the autoconf
utility, used for compiling many different opensource products
tests the size of this table by filling it up, generating this
message each time it is run.
By default, this 'exec data' table is set to 100KB, in other words,
25 pages of 4KB. This is usually enough for most applications.
This table can be increased by locating and modifying this line:
unsigned int maxexecargs = 100*1024;
in the file /etc/conf/pack.d/kernel/space.c
This line is included in this portion of the file:
#else
int minProcSlots = 4;
unsigned min_free_callouts = 50;
unsigned int maxexecargs = 100*1024;
long kmdinterval = 15;
int bio_buf_min = 24;
int bio_mpbuf_min = 12;
#endif
Consider increasing this kernel parameter to a reasonably
large value, for example, 150*1024.
After making these changes the kernel will need to be relinked
and rebooted for the changes to take effect.
NOTE:
You may also see the following lines in kernel/space.c:
#ifdef BULLSEYE
... (a few lines of code)
unsigned int maxexecargs = 4*1024;
...
Unless you have a SCO POS (Point-of-Sale) System, ignore
this particular assignment of the value 4096 to maxexecargs.
|