Netlinx Buffers and Threshold Settings
Frequently Asked Questions
Brand:
- AMX
Models:
- Netlinx
Overview:
The following diagnostic message is sent by the NetLinx master:
Interpreter Pended because xxx messages backlogged. Last pend was for yyy ms / max zzz messages backlogged where xxx, yyy, and zzz are replaced by numeric values.
Causes:
The NetLinx operating system runs as a series of program threads. These threads deal with all of the input and output aspects of controlling the system hardware, along with interpreting the compiled NetLinx code into machine instructions. The threads pass messages amongst themselves by placing them into queues which buffer each message until the recipient thread is prepared to process the message. In order to assure proper operation of the system, there are thresholds which limit how many messages a thread may place into the queue. If that limit is exceeded, the thread which is generating the messages is pended (i.e. paused) until the recipient threads have cleaned enough messages out of the queue to drop the number of backlogged messages below the threshold level. This results in a (typically) brief delay in the processing of the thread, but does notcause any data loss. If the number of messages backlogged exceeds a high value (200 - 500 messages, depending on the thread), then messages will be lost for that thread.
Resolution:
The pending of messages is a normal function of the NetLinx operating system and does not necessarily indicate a problem. If you suspect that pended messages are resulting in performance problems, there is a command available in NetLinx terminal/Telnet to adjust the thresholds:
Note:
Careless adjustment of the thresholds can have a negative effect on system performance. Use with caution.
SET THRESHOLD - Set the maximum number of messages that can be queued by the Interpreter, LonTalk, and IP threads before these threads are pended.