Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
After our Qlik users have logged out of the Qlik Sense environment, the RAM on the server still stays fairly high. E.g. 40%.
It gives the impression to the user that there is some kind of fault.
However I think this is not true so I try to explain it to them that the 40% is reserved by Qlik services because it is holding on to the app and the cached data about the app so that the next time user opens up a dashboard, they could get a quicker experience because some of the things are already stored in memory. This is why the RAM is "high".
Am I explaining this right? Or if you could tweak my statement to be more correct please do so.
Actually 40% memory usage sounds low! You're server is nowhere near memory starvation.
In the QMC under Engine/Advanced you have settings for how much memory the Qlik Engine may use.
Default values here are min 70% and max 90% of internal memory.
Thus if you have not changed these settings the Qlik Engine has no reason to de-allocate the memory.
You could lower these limits but why should you?
Better to supply sufficient RAM to the server and avoid running other systems on the same server.
Especially if you have a virtual server avoid pooling of resources.
Hi Anders,
So what does it mean the memory usage is low? Yes generally out server doesn't hit the min 70% and 90% max, our QMC settings are with this default.
We do not have high number of apps, 2 at max.
Still I am not sure how to explain why the server holds on to the 40% RAM. Is my explanation in the original thread sufficient?
Hello @mwallman
Have a look at the Qlik Support article QIX Engine Memory Management and CPU Utilization and the associated Qlik whitepaper regarding how Qlik Sense utilizes server resources. Hopefully the article will provide some insight for you.
It means you don't have any memory issues on the server. Your server is working fine from that information.
That is under the conditions you are not running virtual memory, not running pooled memory in a virtual server
and you are not running other software on the same server that requires that memory.
If you have any of the issues I mentioned forcing Sense to deallocate memory is not the answer.
The Sense Engine holding on to the memory is per design.
Applications are held in memory even when not used in order to speed up service of the next user.
Sense caches applications and search results (states) in memory as long as there is sufficient memory available.
You can force deallocating by altering those settings but I don't recommend it.
That would force longer response times as the Engine would be forced to load from disk each time an application is requested.