7 Replies Latest reply: Aug 29, 2012 4:15 AM by Anders Linden RSS

    QlikView Server is not dropping memory from closed applications

    Igor Alcantara

      I have an application that takes a lot of RAM. The timeout for this application is set for 30 minutes. Even if all users close the application the QV Server does not drop the memory, even after 30 minutes. Is this correct?

      The version is 9 SR6.

       

      >> The application is optimized already, so I am not asking for answers about how to optimize the app, I am asking how to make sure QlikView Server releases an application out of the memory when the app is closed.

        • QlikView Server is not dropping memory from closed applications
          Stefan Bäckstrand

          Most likely, the document get's unloaded (if not pre-loaded of course), but the cache generated for the document by users will remain - that is the memory you are seeing. Cache will never flush until the lower working set limit is hit. When the document is loaded into memory again, the generated cache will either be flushed or merged with the document again.

          This is expected behavior.

            • QlikView Server is not dropping memory from closed applications
              Jason Michaelides

              So are we saying there is no way of forcibly unloading a specific application from the server memory.  Restarting the QlikView Server service will do this - but will kick out current users of other applications!

               

              If anyone from QlikTech is monitoring this then I would suggest this is something put into the QEMC.  It's especially useful during beta testing to conserve resources on the server after monitoring RAM and CPU usage for a new application. (Obviously a separate testing server would be more appropriate - one where you can restart the service whenever you want - but this isn't always practical!)

               

              Jason

                • Re: QlikView Server is not dropping memory from closed applications
                  Stefan Bäckstrand

                  Yes, that is what we are saying at the moment. It's just not as easy as putting it in the QEMC, there are some facts to consider.

                   

                  1. Cache will never be cleared from QVS memory, unless a) it is rendered obsolete because of changes in the rest of the data model, or b) we come close to or over the configured Working Set Limit's in QVS. This is very much by design. Also, because of how the memory architecture works, it is not possible to throw out one documents specific cache segment on demand - it's simply too clever for that.

                  2. Document timeout will unload a document from memory (but leave cache). This time limit is configurable.

                  3. Preloading and document timeout can be combined to balance memory usage on QVS.

                   

                  Trust me, this is being discussed at Qliktech R&D already, but functionality like this needs to be carefully considered and "use cased" before implemented.