08-23-2019 02:29 AM
Is Linux RT set up to handle running for a long time without any interaction? I would assume so based on the intended use case (PACs), but (how much) would I be wrong? My only experience with Linux is really what I encounter when using Linux RT on PACs, and this part I have not studied sufficiently yet.
If I set up a cRIO with Linux RT and start a LabVIEW RT application on it, I can make sure that application does does its own housekeeping to not fill up the drive or memory. Will the Linux RT setup do the same out of the box? Does it limit the size of it slogs for example? If not, what would be the necessary minimum steps to make it probable that the device could run for many years without interaction? All ways to harden the solution / make it likely to keep on running its application would be nice to know about. I guess I can find a lot of this information on general Linux forums, but maybe Linux RT has already been designed / configured to handle many of the issues already?
Needing to restart the device to get it back up running is acceptable in most of my cases. If there are maintenance commands that needs to be run regularly that is fine as long as I add it to my application. Needing to log on regularly though is not an option.
08-23-2019 08:56 AM
Hi Mads,
I'm not sure I fully understand what you're asking. You differentiate several times between a "cRIO with Linux RT" and a "Linux RT setup." Can you explain what you mean? Are you comparing the OS to an application on the OS?
We intend the OS to run for long periods without interaction, and I'm not aware of anything you would need to do outside of your own application to accomplish this. I know some people have run Linux Real-Time systems for months on end with no interaction required depending on the design of their system. The OS shouldn't fill up the system memory and I believe we do limit the log size via configuration files at /etc/logrotate.d/. For example, the messages log is limited to 1M.
Obviously, regardless of what I say here you should make sure to do validation on the system. If you're more comfortable doing periodic restarts, that's definitely something that can be handled headlessly through the NI System Configuration API
08-23-2019 09:06 AM
Hi,
The cRIO was just an example, I mean Linux RT in general (or at least for ARM targets in my case). So yes, what I was after was whether you had put in place limitations that will ensure that the system is not bound to crash just by running for a long time...(several years). The specific event that triggered my interest in this was a cRIO that was using 70 MB more memory than before even when not running an application. I have not figured out why that is yet so it might be unrelated (corruption issue perhaps), but it got me worrying that there could be an accumulation issue just from the way the OS itself is set up.
09-19-2019 02:11 PM
About the simplest way to answer your question is that there isn't anything up our sleeves AFAIK.
Regarding leaks:
Regarding long-term execution: