LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Memory Full

I wanted to plot data in a waveform graph from a binary file which is nearly
7GB size. But I get an error "Memory Full". How to solve this issue???

I tried to divide the data into chunks of size 500MB, then the PC hangs for two
such chunks. The CPU utilization goes 100% in all cases, and RAM usage
approaches full(4GB).
Software Details: LabVIEW Professional Development System  version 2014 SP1
NI Hardware:  None
Operating System:  Windows 7

0 Kudos
Message 1 of 4
(1,438 Views)
  • Is this Windows 7 32bit or 64bit?
  • Is this LabVIEW 2014 32bit or 64bit?
  • File size alone does not tell the entire story. Is this a binary file? What is the datatype? Is this a formatted file? How is it formatted? How many datapoints are in there?
  • Can you show the "chunks" code? There are many right and wrong ways to do that.
  • How are you decimating the data for the graph?
  • Can you show us all your code?

LabVIEW Champion Do more with less code and in less time
0 Kudos
Message 2 of 4
(1,421 Views)
  • Is this Windows 7 32bit or 64bit?

Window7 64bit

  • Is this LabVIEW 2014 32bit or 64bit?

LabVIEW 2014 32bit

  • File size alone does not tell the entire story. Is this a binary file? What is the datatype? Is this a formatted file? How is it formatted? How many datapoints are in there?

The file is a binary file which contains 16bit data of 128 channels information of a test pattern(sine wave). I am trying to read the file data and put it in a 2D array for each 128 channels data against different samples. Then I am plotting in a graph.

  • Can you show the "chunks" code? There are many right and wrong ways to do that.

I have attached the screen shots. From the main vi(Data_Process_Plot.vi), I am trying to call the Chunk code vi(Process_file_1.vi), where I give the file path and the no of plots(no of chunks). In the case structure I duplicated the cases for different chunk to select.

 

I have also attached the error dialog appeared for 2 chunks.

  • How are you decimating the data for the graph?

Around 8Lakhs packets, in which each packet contain 128 channels of 36 samples. So the 2d array shall be 128 X (36*8Lakhs). Each sample is a 16bit data. I have to plot the samples against the channels.

  • Can you show us all your code?

All codes are attached.

0 Kudos
Message 3 of 4
(1,416 Views)

what is a laksh? Can you stick to SI units please.

 

Why do you stack all these plots?

When you "process" the file, isn't the left stack of FOR loops just a "reshape array"?

Your data is only I16, so converting to SGL would be plenty. Why do you think you need DBL? You could even leave it all at I16 and adjust dz of the z axis accordingly

 

What is the array size going to the intensity graph?


LabVIEW Champion Do more with less code and in less time
0 Kudos
Message 4 of 4
(1,411 Views)