| MCC> Failure in kernel event receipt. Thread terminating
%MCC-E-INSEVTPOOLMEM, insufficient event pool memory to post event
This happens alfter a few days of operation.
I get this error more and more.
From then on "mcc_kill" even does not work any more.
Even after a kill of ALL mcc processes a restart DECmcc (both the
FCL-PM and ICMP-PM) is not possible any more.
The only possibility is a complete shutdown/restart of ULTRIX.
This becomes very annoying.
QUESTION:
How is the event pool be sized.
Which parameters are responsible
- to allocate space?
- to use that space?
Regards,
Dominique.
================================================================================
Note 5490.1 %MCC-E-INSEVTPOOLMEM 1 of 1
KETJE::PACCO "Horum omnium fortissimi sunt Belgae" 5 lines 17-AUG-1993 09:35
-< Problem disappeared after reboot. >-
--------------------------------------------------------------------------------
The event pool file resides on /tmp
After a reboot of the system, the problem disappeared.
Dominique.
|
| Dominique,
We have seen what look like a smilar problem in TeMIP and have studied quite a
lot the Event Manager.
First a few answers to your questions :
>> QUESTION:
>> How is the event pool be sized.
The Event Pool is controlled through a set of environment variables :
- MCC_EVENT_POOL_SIZE : this variable determines the size of the event
pool available for containing event data. This variable should be in
multiples of 1024 bytes. the default is 524288 (1/2 MB), the minimum
262144 (1/4 MB) and the maximum 8192000 (8000 KB). In TeMIP, we
recommand and define in our temip_login.csh MCC_EVENT_POOL_SIZE
2097152 (2 MB)
- MCC_EVENT_EDQ_SIZE_LIMIT : this variable determines the maximum
number of events that can be queued up (in the event pool) for a
given event "get" if the fullness of the event pool has exceeded a
threshold. Events for an event "get" that exceed this queue size are
lost and are returned as "lost" events for that event "get". The
event pool fullness threshold is a varying percentage of the total
event pool size, and is the larger of 32K bytes or 1/16th of the
event pool size.
The default value is 25 events for an event "get" queue. Units are
in number of events in the queue. Note that if this variable is set
high enough (say, 100000), there is no queue size limit. In TeMIP, we
recommand a value of 2500, as it corresponds to our requirements
There are also other environment variables, but these 2 are the most
important ones as far as event pool size is concerned.
>> Which parameters are responsible
>> - to allocate space?
See above
>> - to use that space?
I will try to summarize it for you. It might not be 100% accurate, but it
should be close enough. Each time an mcc_event_get is made, space for the
get structure is allocated in the pool. If the process exits nicely, this
structure is cleaned. If it exits abruptly, then this structure is left in
this event pool and a specific sweeper mechanism running either every hour
or when the event pool starts to be full removes these structures.
>> MCC> Failure in kernel event receipt. Thread terminating
>> %MCC-E-INSEVTPOOLMEM, insufficient event pool memory to post event
>> This happens alfter a few days of operation.
>> I get this error more and more.
Regarding your problem, we found a problem linked to a bad clean-up of some
event get structures when they were empty. I don't know if your problem is
the same, but we found it in a similar way : receiving "insufficient event
pool" messages after a few days of operation. Further analysis of the event
pool behaviour has shown us that in our case it was getting filled up with
dead event get structures
If you have access to the QAR database, it is QAR #560, entered
12-MAY-1993. It is marked as closed, fixed in V1.3 MUP and OSF/1 code stream.
Hope this helps,
Marc.
|
| Marc,
After I modified (added) the following 2 variables in mcc_login.csh
setenv MCC_EVENT_POOL_SIZE 2097152
setenv MCC_EVENT_EDQ_SIZE_LIMIT 2500
and after I have rebooted the system, DECmcc seemed to work fine,
except for one item: I do not get any DECnetV events any more.
removing these two lines (and restart of DECmcc) permitted to have
DECnetV events again !
Is the choice of these two assignments wrong ?
Kind regards,
Dominique.
|
|
Dominique,
Your environment variables seem right. One thing to watch for is that
*all* processes that use the Event Manager should have the same value for
these variables.
I am not familiar enough with the way Phase V events are collected, but
the only direction I can think of might be that there is a sink process
somewhere that does not use these variables.
Best regards,
Marc.
|