03-23-2022 05:16 AM
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?
03-23-2022 06:17 AM
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.
03-23-2022 11:51 AM - edited 03-23-2022 11:53 AM
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.
03-28-2022 08:04 AM
@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.
03-28-2022 08:20 AM
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?
03-28-2022 08:32 AM
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.
03-28-2022 08:36 AM
@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 JÞB mentioned.
03-28-2022 08:45 AM - edited 03-28-2022 08:45 AM
@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 JÞB 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.
03-28-2022 09:24 AM
@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).
03-29-2022 01:25 AM
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?