I have implemented the tweaks to the PCB partition, socket partition, and message pool you provided, and it is seeming more stable from what I can tell. I will continue to test it over the next week and see (before it varied, but could take about 2 days to crash). Currently, I have the following as far as partition usage over the last 2 days of running (with RTCSCFG_TCP_MAX_CONNECTIONS set to 8):
Socket Partition: 8 Total Blocks, 0 Free, 8 Used, 2 Growth, 20 Limit
PCB Partition: 18 Total Blocks, 1 Free, 17 Used, 2 Growth, 20 Limit
So if this does actually fix the problem, I have questions as to why. If it ensures 8 sockets available (and we can expand up to 20, right?), then how do we ensure we will never try to open more than the 20 maximum sockets? Is this controlled by setting RTCSCFG_TCP_MAX_CONNECTIONS, where we basically need to have a socket for each server (3 in my case of 2 HTTP servers and 1 Telnet server) to listen and a socket for each TCP connection, so I would potentially need 11 sockets? If so, then given that the socket partition is still only 8 big, then I am not hitting my max TCP connections limit (or even hitting 5 TCP connections). Why is the PCB Partition growing so much? Should I be concerned that it might run out of room? How should I tweak these settings if I want to increase the max TCP connections?
Thanks,
-Bowe