beautypg.com

3 commsmemfree(3) – Campbell Scientific CR1000 Measurement and Control System User Manual

Page 434

background image

Section 10. Troubleshooting

434 

 

 

CommsMemFree(2) number will be. A PakBusNodes setting of 50 is normally
enough, and can probably be reduced in small networks to free memory, if
needed. Reducing PakBusNodes by one frees 224 bytes. If
CommsMemFree(2) drops and stays down for no apparent reason (a very rare
occurrence), please contact a Campbell Scientific applications engineer since the
CR1000 operating system may need adjustment.

10.4.3.3 CommsMemFree(3)

CommsMemFree(3) Specifies three two-digit fields, from right (least
significant) to left (most significant):

lilfreeq = "little" IP packets available
bigfreeq = "big" IP packets available
rcvdq = IP packets in the received queue (not yet processed)

At start up, with no TCP/IP communication occurring, this field will read 1530,
which is interpreted as 30 lilfreeq and 15 bigfreeq available, with no packets in
rcvdq. The Ethernet and/or the PPP interface feed rcvdq. If
CommsMemFree(3) has a reading of 21428, then two packets are in the received
queue, 14 bigfreeq packets are free (one in use), and 28 lilfreeq are free (two in
use). These three pieces of information are also reported in the IP trace

(p. 457)

information every 30 seconds as lilfreeq, bigfreeq, and recvdq. If lilfreeq or
bigfreeq free packets drop and stay near zero, or if the number in rcvdq climbs
and stays high (all are rare occurrences), please contact a Campbell Scientific
application engineer as the operating system may need adjustment.

CommsMemFree(3) is encoded as follows:

CommsMemFree(3) = lilfreeq + bigfreeq*100 + rcvdq*10000 +
sendq*1000000

where,

lilfreeq = number of small TCP packets available 

bigfreeq = number of large TCP packets 

rcvdq = number of input packets currently waiting to be serviced 

sendq = number of output packets waiting to be sent 

The following expressions can be used to pick the values out of the
CommsMemFree(3) variable:

lilfreeq = CommsMemFree(3) % 100
bigfreeq = (CommsMemFree(3) / 100) % 100
rcvdq = (CommsMemFree(3) / 10000) % 100
sendq = (CommsmemFree(3) / 1000000) % 100