Qlik Community

QlikView Deployment

Discussion Board for collaboration related to QlikView Deployment.

Not applicable

How to free virtual memory that gets allocated to a qlikview application?

Hi All,

As per the Qlikview Server memory management if the qlikview application needs more memory to perform calculations or the performance slows down, it would swap some of the physical RAM to virtual memory.

I wanted to know how to release this memory:

1. Does closing the Qlikview application free the memory?

2. Does signing-off from the server by the developer free up memory? or

3. Do we need to restart the qlikview services (all 5) to free up memory?

Would appreciate any help.

Regards,

Janaki Venkitasubramanian

8 Replies

Re: How to free virtual memory that gets allocated to a qlikview application?

Three short answers, because I don't know whether you're talking about the QlikView services, QlikView desktop or both on the same server:

  • QVS will never release the memory it used before (at least not all of it). The big chunk it keeps for itself may be empty however, because QVS has its own memory manager. This is simply a safety measure to avoid memory starvation whenever possible.
  • QV Desktop will release most of its allocated memory when you close the opened document(s), reduce the data in these documents or simply close the application. All memory is released.
  • QVB (the Reload engine used by the QlikView Distribution Service) will behave just like QV Desktop. Unfortunately this means its memory allocation cannot be controlled by the QMC settings or by the QVS memory manager. This is the snake in the grass...

BTW: restarting QVS may release all allocated memory for documents displayed in the AP, but that's only a temporary measure.

Best,

Peter

Re: How to free virtual memory that gets allocated to a qlikview application?

Hi,

Try by restarting QlikView services.

Regards

ASHFAQ

Not applicable

Re: How to free virtual memory that gets allocated to a qlikview application?

Hi,

Peter is correct.

I would suggest you to make a task which is going to restart the QV services 1-2 times per day. You can track when is the best time for this by looking for the usual behavior of the users. Also, you should check that you don't have a lot of reloads eating RAM in the same time.

I have a task which restarts the QV services at 8 am and 1 pm, and it does the job.

Good luck,

Ionut

Not applicable

Re: How to free virtual memory that gets allocated to a qlikview application?

Hi,

Thank you Peter for your reply. Currently we have both Qlikview services and Qlikview Desktop running on the same machine and developers RDP onto that machine (Dev servera). We have been having memory issues, since developers are working on huge dashboards and due to this the performance is low and sometimes the RDP session is also terminated.

Regards,

Janaki

Re: How to free virtual memory that gets allocated to a qlikview application?

Do you want to merge the two discussions? Or do you want to keep both threads alive? I think we're talking about the same issue in this one:

Setting Memory Limits to avoid memory starvation

jaimeaguilar
Valued Contributor II

Re: How to free virtual memory that gets allocated to a qlikview application?

The restarting services-workaround suggested by Ashfaq is something you probably will need to do (if you're talking about releasing memory from QV Server). I've even seen/read/heard suggestions by experts telling that as a good practice you may restart QV Server (specially QVS Service), because QlikView eventually accumulates memory even if you close all apps/sessions.

I don't know if this is a QV bug, a windows bug, or just some unexpected behaviour, but in my experience I can't tell you that even if you follow all good practices you will still need to recurr to this workaround,

regards

Re: How to free virtual memory that gets allocated to a qlikview application?

It's not a bug, it's how the QVS service was designed: grab as much memory as you need, but never release it. Even if it is being freed up. QVS has its own memory manager. "Better be sure than sorry", me thinks.

Not applicable

Re: How to free virtual memory that gets allocated to a qlikview application?

Hi,

The QlikView server is not built to play along nicely with others as its designed to be run on a machine with dedicated resources that are not attended to be shared with other services. The general recommendation is that you try to keep the environments (server and developer) separated to avoid this kind of behavior. 

As im fully aware that its not always possible would I recommend that you take a look at how the working set limits are set in the QVS, and if tweeking them (and by that, the internal sets for the memory management) help you. To restart the QVS service will most likely help you but will also mean that you flashes the servers cache - something that will affect the end uses experience.