LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Not able to utilize 4 GB Memory for 32 Bit Labview

Hello,

 

I am LabVIEW 32 Bit in 64 Bit system with 32 GB RAM. Sometimes application require High memory usage and at that time I get the error of 'Not enough Memory' in LabVIEW. Whenever I get this error I check in Task manager and find that Memory Usage of LabVIEW is reached to 3 GB. But As per NI article,

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000PAEOSA4&l=en-IN

Memory usage of 32 Bit LabVIEW in 64 Bit system can go up to 4 GB. As my application require High memory usage and I want to utilize it upto 4GB but it is not possible for LabVIEW to utilize  4GB memory. Can anybody suggest solution?

0 Kudos
Message 1 of 16
(2,512 Views)

1. Use less memory.  This is most commonly an array usage issue (constantly adding to the array, autoindex tunnel for a while loop).  We would need to know a lot more about your application, including seeing code, in order to help further.

2. Change to 64-bit LabVIEW.  This may not be possible based on a few toolkits and drivers have not been ported to 64-bit.  This issue is supposedly being closed up.  The cRIO drivers is my current holdup.  But if you still have a memory management issue (see 1), this will likely just postpone the real issue.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 16
(2,494 Views)

Without seeing your code or even knowing what version you are using we can only guess.

 

I suspect that your large data is in some data structure that requires contiguous memory. It would not be easy to utilize all 4G if you had copies of 1G chunks.


"Should be" isn't "Is" -Jay
Message 3 of 16
(2,464 Views)

@crossrulz wrote:

1. Use less memory.  This is most commonly an array usage issue (constantly adding to the array, autoindex tunnel for a while loop).  We would need to know a lot more about your application, including seeing code, in order to help further.

2. Change to 64-bit LabVIEW.  This may not be possible based on a few toolkits and drivers have not been ported to 64-bit.  This issue is supposedly being closed up.  The cRIO drivers is my current holdup.  But if you still have a memory management issue (see 1), this will likely just postpone the real issue.


To be fair, this is not answering the question at all. It's like going to the doctor and saying your leg hurts when you extend it. And the doctor's reply: "Don't extend it". Lol.

 

You know, sometimes we don't have full control over what LV allocates and what not. Ever tried opening a large project after clearing out your compile cache? Yeah, lots of RAM gets gobbled up by compiling the VIs. And yet according to NI, LV should have access to the full 4GB RAM. That does not seem to be the case. I can confirm that I see the exact same behaviour.

 

I would be interested in hearing if others have different experiences of this. My IDE will practically never go over 3GB of RAM before crapping out. NI says it should "without modification" use 4GB. Why is this not the case? I don't know.

0 Kudos
Message 4 of 16
(2,430 Views)

Hmm, 3 GB sounds a lot like a memory limit for 32 Bit Windows. Maybe NI did something to stay compatible with 32 Bit windows?

0 Kudos
Message 5 of 16
(2,420 Views)

DPM@ch wrote:

Hmm, 3 GB sounds a lot like a memory limit for 32 Bit Windows. Maybe NI did something to stay compatible with 32 Bit windows?


Nope. 32-bit Software, 64-bit OS. States in the OPs post.

Precisely this configuration should, according to NI, have full access to 4GB.

0 Kudos
Message 6 of 16
(2,411 Views)

@Intaris wrote:

DPM@ch wrote:

Hmm, 3 GB sounds a lot like a memory limit for 32 Bit Windows. Maybe NI did something to stay compatible with 32 Bit windows?


Nope. 32-bit Software, 64-bit OS. States in the OPs post.

Precisely this configuration should, according to NI, have full access to 4GB.


I tend to think it has something to do with contiguous memory, like mentioned.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 7 of 16
(2,405 Views)

@billko wrote:

@Intaris wrote:

DPM@ch wrote:

Hmm, 3 GB sounds a lot like a memory limit for 32 Bit Windows. Maybe NI did something to stay compatible with 32 Bit windows?


Nope. 32-bit Software, 64-bit OS. States in the OPs post.

Precisely this configuration should, according to NI, have full access to 4GB.


I tend to think it has something to do with contiguous memory, like mentioned.


I don't think so. I run into this issue a LOT with LabVIEW. I know how to handle large array sets, but nothing I do can convince LabVIEW to go above 3GB. Or at least, there seem to be plenty of cases where it can't be explained by either contiguous memory or memory fragmentation.

0 Kudos
Message 8 of 16
(2,397 Views)

@Intaris wrote:

DPM@ch wrote:

Hmm, 3 GB sounds a lot like a memory limit for 32 Bit Windows. Maybe NI did something to stay compatible with 32 Bit windows?


Nope. 32-bit Software, 64-bit OS. States in the OPs post.

Precisely this configuration should, according to NI, have full access to 4GB.


I know. But what makes you think NI tells the truth? The given information by NI is basically what the OS is capable of. Doesn't mean that Labview is good at handling 4 GB. Ok, I should rephrase - its most likly not deliberate by NI (I foolishly wanted to give the benefit of doubt here) - more like the issue never ocured back in the time of 32 Bit OS, and now nobody cared to look if there might be some issues with memory handling. Maybe someone can provide an example vi that really manages to use 4 GB? I was never able to do so (well I never tried - but I stumbled over the limitation several times, therfore switching to 64 bit LV).

0 Kudos
Message 9 of 16
(2,379 Views)

There used to be an ini-key (config.sys?) to get access to a larger address space in 32 bit windows, do you still need to use that on a 64 bit system?

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 10 of 16
(2,349 Views)