Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Why does the memory usage of my cRIO rise up until crash?

Solved!
Go to solution

 

Hi,

So far, all were trying unsuccessfully, unfortunately ...

Now I have endeckt the corner from the disaster is coming!

But what is it I can not say!

Have now photographed all the time loop in which the memory hog sitting.

Additionally, I have the whole VI printed in PDF.

Hope someone has an idea?

Thanks in advance

matze

 

 

26.05.png

 

 

 

 

 

 

0 Kudos
Message 11 of 16
(2,185 Views)

Hello MaJahn,

 

what happend if you set the dt fromt the timed loop for ftp transfer from 1 to 20 ms?

I see you have implemented a time 10ms but please rise this to 20ms.

 

The error handling is not connected thru all functions and vi´s so if you get an error this error will not be reported, like if you read from an empty queue. Please look at the elements in your queues if this rise.

 

All queues are not limited in size so each queue can rise to an memory overflow. It´s also a little bit better to use the RT FIFO, like in the sent example, for queueing elemts on an RT target.

best regards
Alexander
0 Kudos
Message 12 of 16
(2,170 Views)

Hi,

 

Thanks for the answer!

 

So when I changed dt to 20ms nothing changed. (was not expected to be)

 

Furthermore I controlled the queues for an rise and there were nothing. They were leaving on the same values during the memory expands.

 

If an queue will cause a memory overflow how can I see this. I just made an Preview of the queue and watched the Element in the monitoring Probe (don't know if this is right?! On German it's "Sondenüberwachungsfenster")

 

So I don't even have an idea what it could be...

 

Greez

 

Matze

0 Kudos
Message 13 of 16
(2,156 Views)

Is it Possibile that it is the DMA FiFo itself?!

 

HELP.... Smiley Sad

 

MaJahn

0 Kudos
Message 14 of 16
(2,145 Views)
Solution
Accepted by topic author MaJahn

Hello MaJahn

 

you can use the get queue status function to look into the queue how many elements are used.

Try to give your queues a maximum size at obtain queue.

Have you tried to implement the errorhandling?

 

The DMA FIFO read can also be the problem because if your CPU run with 100% the memory will not elected.

Why is My Real-Time CPU at 100% When Reading from a DMA FIFO (FPGA)?

 

Have you tried to use a while loop instead of timed loop, if then the error happend?

best regards
Alexander
0 Kudos
Message 15 of 16
(2,136 Views)

Smiley Very Happy

 

Thank You...

 

I Fond It!

 

It was the orange-green Queue! It wrote with every iteration one Element into it!...

 

damn am I Happy....

0 Kudos
Message 16 of 16
(2,105 Views)