2023-09-28: APP 2.0.0-beta24 has been released !
Improved application startup, fixed application startup issues, upgraded development platform to Oracle GraalVM JDK21
We are very close now to releasing APP 2.0.0 stable with a complete printable manual...
[Sticky] How much memory should I allocate to APP?
In APP you need to tell APP (only once 😉 ) how much memory it's allowed to use.
If you click on the top left CFG button
you can allocate more memory than the initial 2GBs of memory that APP is allowed to use when you install APP for the very first time.
You can set the amount to a maximum of your
maximum amount of RAM memory you can allocate = system RAM (in GBs) - 1 GB
so for an 8GB system, this means you can allocate 7GBs of RAM memory as a maximum.
A question that popped up:
I've allocated 6GB to APP, but it never uses more than about 2GB. Can it use more?
APP can and will definitely use more memory when required. If it isn't consuming more than 2GBs of RAM memory while processing your data, this simply means it doesn't need to allocate more memory to fully do it's processing on your particular data.
APP doesn't need a lot of memory actually to fully process regular stacks. With 2GBs of RAM memory you can process 20MegaPixels of RGB data (RGB data consumes three times more memory than monochrome data with the same amount of pixels), for instance, data shot with a Canon EOS 6D.
So with 6GB applied as the maximum that APP can use, APP will be able to handle much bigger frames.
The registration engine is benefiting if you let APP take more memory though, so I suggest to let APP use as much memory as you possibly can while keeping 1-2Gbs for your OS to be able to still do it's tasks. You want to prevent your OS from starting swapping.
The registration engine is a scaled engine for the maximum amount of RAM memory and the number of processors that you let APP use. If you have lots of stars in your images (>2500) then in the registration process it will run much faster if you have allocated more memory. This scaling works dynamically while registering your frames using all cores that APP is allowed to use, which you can also set. So multiple frames will be registered at the same time in APP.
For star counts in your images below 1000, the registration engine won't be slower with only 2GBs of memory.
In most cases, you will only need to supply APP with more than 4GBs for optimal registration speed and to be able to make integrations of big field of views, like big mosaics.
You might have noticed that APP hardly consumes any memory while performing the actual integration tasks due to file mapping of all the images of the stack.
So for memory usage in APP, the limiting factor that APP can handle is determined by the image dimensions and the number of channels (monochrome /RGB) that the data has.
If you Drizzle with a scale of 2x in 6)INTEGRATE for instance, then a 20 megapixel frame becomes 80MP (2x2=4). Then you will notice it will consume more memory probably.
Well that answers that. Thanks.
may i ask you how should I increase amount of RAM? If I click on CFG and use a slider, only number of threads is changing but memory is still the same, only 2GB. And I definitelly need more because my process finishes with missing memory. I use computer with 32GB RAM. So where is the mistake?
You should be able to select the amount from the dropdown menu here:
Restart APP and it should be available.
thanks a lot Vincent, but the main problem is that I don´t see any dropdown menu. I already reinstalled the app, but nothing changed...
Click the CFG button:
Then you'll get the popup:
In my previous post I wasn't as concrete as I was supposed to be ... when I click on CFG, no window opens ... when I click on License, the window opens, but not at the Configuration button. That's the problem...
What happens when you minimise the main window? Perhaps the popup is hiding behind it?
Sorry for the delay.. this is a very interesting issue, never encountered it before. I'll tag Mabula so he can have a look (@mabula-admin).
I have a 32GB Windows 10 system and allocated 20GB to APP - still got an OutOfMemoryError during integration. One of the painpoints, by the way, was that it's not possible to save the project/file list. Also no way to save the progress. After losing 32 hours of processing, restarted again - now with 28GB allocated. So far it's been running for 8 hours...
There are 1625 8.5MP frames (ASI295MC Pro) to integrate with x2.0 bayer drizzle.
So my advice in these situations is not to integrate all these frames in 1 go. I would integrate maybe 300 at a time and combine those later on, that will work fine. When having that many, memory and other limits of any machine will always become an issue.
Hi Vincent, I have the same problem now. When I press the button"CFG", there is no any window pops up so that I can't configure the RAM size and couldn't run analyze because of run out of the memory. Is it fixed now or if I did something wrong?
The window doesn't open at all also not behind the others? Frustrating. A restart of your computer also doesn't help? What system are you using?
As typical with Java applications, once you hit OutOfMemoryErrpr the app doesn't fully recover and then unpredictable behavior starts to happen. Restart will help of course but without the ability to save the project configuration (file lists, session settings and comet location in the Beta version) the setup work is lost.
My system is Windows 10, i7-4800MQ @ 2.7GHz, 32GB RAM, nVidia GeForce GTX770M 3GB, 4TB SSD.