2 Replies Latest reply: May 14, 2017 6:24 PM by Kerk Ying Ng RSS

    QlikView Server Min/Max Working Set Considerations

    Kerk Ying Ng

      Hi all,

       

      I have a current deployment for an enterprise server that has the default 70% and 90% Minimum and Maximum working set.

       

      What I understand is that at 70% Qlik will start to throttle the RAM usage and purge calculations results stored in the global cache etc.

       

      2 Questions:

      1. What is the implication of setting the minimum working set to 85%? If I want the server to accommodate more cached result sets, Can I just push the minimum working set to the high end?

      2. What happens in between 70% and 90%? Is it the case if the unaggregated datasets exceed the 70% threshold, then they will allow global cache results to be stored beyong 70%?

       

      Thanks for any help!

        • Re: QlikView Server Min/Max Working Set Considerations
          Stefan Wühl

          I think this whitepaper gives a quite good overview how Qlik uses RAM (not sure if you already know this):

          https://www.qlik.com/us/resource-library/qix-engine-memory-management-and-cpu-utilization-en

           

          You can play a little with the working set limits.

          The 'optimized' settings depend also on the amount of available RAM on your server and how much RAM is needed by other processes. What you want to avoid is the OS swapping Qlik's application data and cached results to disk.

            • Re: QlikView Server Min/Max Working Set Considerations
              Kerk Ying Ng

              Hi Stefan,

               

              Thanks for the reply, I've indeed seen the Technical brief on QlikView Server Memory Management and CPU Utilization but the whitepaper gave a more detailed breakdown of how the working sets works.

               

              From what I can gather, the justification to 70% and 90% is to "Leave enough room for handling of transients (that is, the amount of RAM temporarily allocated while the engine purges cached result sets) without reaching the max working set".

               

              Am I right to further say that this 20% buffer between 70% and 90% is just to determine how early does the server start purging cached results, because if the unaggregated dataset takes up a substantial amount of memory the global cache memory might start to exceed the working set minimum?

               

              And also I guess one of the assumption is that, when all of the available QVWs is loaded in the server, the unaggregated dataset it takes up in the RAM should not exceed the minimum working set?

               

              Thanks for the clarification so far, its just that I have to justify exactly why am I using this 70-90 configuration