15 Replies Latest reply: Jun 21, 2017 10:38 AM by Eduardo DImperio RSS

    QVS server can not release memory

    Kevin Wen

      hi all,

          i have a problem about the server memeory can not release automantic. it always increase except restart the qvs service.  if  any set issue on QEMC or others. how to solve this issue let release memory itself? any one can help me or get me some suggestion? thanks very much!

         OS: Windows server2008 64 sit

         QVS: 9.0.7440.8

        • Re: QVS server can not release memory
          Nick Gan

          Hi,

           

          Everynite i have a job to restart all the QV services to reset all the memories.

          • Re: QVS server can not release memory
            Henric Cronström

            This is not a problem. It is the cache that isn't released and it is the correct behaviour. If you want to decrease the amount of memory that the QVS is allowed to use, you should decrease the "Working Set Limits".

             

            HIC

              • Re: QVS server can not release memory
                Kevin Wen

                Thanks for your attention Henric, I understand your idea, what’s the  "Working Set Limits".?   Your mean’s reduce access people amount isn’t it?

                    • Re: QVS server can not release memory
                      Kevin Wen

                      Henric l'v looked these suggestion,   "Working Set Limits" is  limit the totality used for memeory, i don't know  if it will to help fleetly release physics memory . For the long time in the future , i don't want see the memory used always in growth. i hope the high and low will show to across. because the performence monitor  team will  think this is a dangerous for server. thanks!

                        • Re: QVS server can not release memory
                          Henric Cronström

                          The server is designed not to release memory back to Windows, once the memory is allocated. So it will appear as if the memory just grows. But this isn't dangerous for the server. It is expected behaviour..

                           

                          QlikView monitors its own cache, purges entries that are not used and adds new ones based on the selections that the users make. But it does not return allocated memory to Windows, since this would fragment the memory.

                           

                          QlikTech constantly runs internal tests of the server, where servers run for very long periods. So I am fairly confident potential memory leaks will be discovered if there are any. And they will get fixed.

                           

                          The "Working Set Limits" will not change the principal behaviour but it will limit how much memory QlikView will allocate.

                           

                          HIC

                            • Re: QVS server can not release memory
                              Kevin Wen

                              OK Henric thank you very much for your so great reply !. 

                                  i don't assurance on something yet , .

                                  in case, my server memory amount is 512G, when  i set the Low Limit (%)=70%; High Limit (%)=90%, Cache (%)=10%.    in the Windows task manager,  the memory used from  30G to 360G just cost 3 month start create the qvs.  i want know, the Low Limit (%)=70% is keep for QV is long term?

                              • Re: QVS server can not release memory
                                Kevin Wen

                                From start the qvs service to reach Low Limit (%), At least the Low Limit (%) memory  is will not back to windows? qvs will keep it long term is it?  and qvs memory release base on the Low Limit (%)--High Limit (%) area.so before arrived the Low Limit (%), the number of the memory is  always growth?

                                  • Re: QVS server can not release memory
                                    Nick Gan

                                    i dont think QVS will ever release the RAM.

                                     

                                    The idea is to load the data into RAM, so the more you open for the day, the more RAM is going to be occupied.

                                     

                                    If your total RAM is greater than your total size of your dashboard, then maybe you wont have a problem.

                                     

                                    If you need to reset it multiple time a day, you probably dont have enough ram, else i think it will still good to reset the RAM at the end of business day.

                                     

                                    Reset means to restart the QV related services.

                                     

                                     

                                    I don't know if there's other better way to manage it?

                          • Re: QVS server can not release memory
                            Eduardo DImperio

                            Sorry HIC but i need to disagree, once i had this application that use more that Working Set Limits, even aborting execution, it countinuous allocating memory until crash my server. So we have a Set Limits that not work and a abort button that does not work too. So we need to test our code hoping to not make any mistake cause QS not prevent a server crash for out of memory.

                              • Re: QVS server can not release memory
                                Chip Matejowsky

                                Hi Eduardo,

                                I think your scenario was likely due to virtual memory. The attached whitepaper on QlikView Server Memory Management and CPU Utilization states the following:

                                 

                                Like all Microsoft Windows applications, QlikView is dependent on Windows to allocate RAM for QlikView to use. QlikView Server will attempt to reserve RAM when it starts based on the working set limits set in the QlikView Management Console. Once the allowed amount of RAM is exceeded, the QVS process will start purge the cached result sets to ft in any new QlikView applications, new calculated aggregates and sessions’ state information. Please note that QlikView allocates all allowed memory as fast as possible with cached results sets and this does not mean that the QVS will lack in performance once the allowed amount is reached.


                                If at any time RAM becomes scarce, Windows may, at its discretion, swap some of QlikView’s memory from physical RAM to Virtual Memory (i.e. use the hard disk based cache to in place of RAM). When QlikView is allocated Virtual Memory it may be orders of magnitude slower than when using 100% RAM. This is always an undesirable condition in QlikView and will provide a poorer experience for the users and may be perceived as an error condition by the users. It is critical to realize that the process described above holds true for every Windows based application and is not unique to QlikView.

                                 

                                Hope this helps,

                                Chip