LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

AZMaxMem / DSMaxMem

Hi,

in an attempt to allocate the largest possible array we first call the following function : DSMaxMem.
According to the Code Interface Reference Manual this should return the largest block of contiguous memory available for allocation. Yet it returns only a zero.
Anyone who knows what this means?

Thanks,

Manu.
Certified LabVIEW Developer (CLD)
0 Kudos
Message 1 of 5
(2,931 Views)
For LabVIEW for Windows, this function will always return 0. Windows has virtual memory, so the notion of contiguous memory is not important. Try using DSNewPtr with as big a number as you like. The Windows OS will probably be unable to provide a pointer after a couple of gigabytes.
0 Kudos
Message 2 of 5
(2,925 Views)
OK,

I already had a feeling that this was probably a MAC-only function, although it is not mentionned as such in the reference manual.
Does this imply there is no way of finding the largest contiguous block of free memory in RAM under a Windows system?

Thanks anyway,

Manu.
Certified LabVIEW Developer (CLD)
0 Kudos
Message 3 of 5
(2,920 Views)
Hi Manuel,

As far as allocating memory on an OS with virtual memory goes, the sky is the limit with how much contiguous memory you can allocate. Well, the sky is the limit up to about 2-3 Gigabytes.

I don't know of any way to query how much more the OS will let you allocate.
0 Kudos
Message 4 of 5
(2,911 Views)
Hi again,

we can only use true RAM memory since the virtual memory resides on harddisk and is way too slow for our calculations. So we really need the max possible space IN RAM ONLY. There must be some way, RAM defragmenting programs for example grab all available RAM without virtual memory. If they can make the distinction, there must be some call or fuction, in C or so, I don't know.

Your help is much appreciated,

Manu.
Certified LabVIEW Developer (CLD)
0 Kudos
Message 5 of 5
(2,905 Views)