07-28-2017 08:44 AM
First and foremost what is the best way of investigating memory issues on RT Linux? RT Actor Framework?
I have a 9063 running a program and it starts with about 80mb of free memory. Over the course of several hours it consistantly goes down to the point where low memory causes the CPU usage to spike and my program safely shuts down. I have seen how I can monitor the memory on Linux (command line) but not how I can monitor anything more specific than the entire LV process.
I have seen Developer's Guide and I believe have followed all of the suggestions therein.
The only thing I am unsure about is the session for EthernetIP. It specifically says you do not need to normally manage the session, but I am wondering if there are memory benefits to doing so and if so do I need a different session for each tag? What about reads and writes?
I have support issue 7714898 open and currently our main path forward is me trying to chop up my program and find a cause. This is very difficult as most of these things are needed for proper operation of the machine and I am not sure I can disable them on a "production" system.
07-28-2017 09:47 AM
Are you using Network Streams to communicate with your desktop host?
07-28-2017 09:54 AM
I am using Network Endpoints. I am not sure if that uses the traditional network streams (like I would normally use on a non-AF project) it uses a message stream which I believe is just TCP.
I have tested this with the desktop host connected and unconnected and the error seems to occur regardless for its state.
07-28-2017 01:24 PM
why what concerns did you have about network streams? I assume they don't apply to Network Endpoints?
07-28-2017 01:50 PM
Network endpoints can use network streams or TCP/IP, depending on how you configure them, so any issues with network streams can affect systems using network endpoints.
I asked, because I am aware of one instance of a memory leak involving AF and network streams, though I can't recall the details at the moment.